
Евгений
17.08.2017
06:17:44
если точно этот класс у тебя в проекте, то должно попадать в public ResponseEntity<ErrorVM> processException(Exception ex) {

Arrow
17.08.2017
06:18:47
как в примере

Евгений
17.08.2017
06:19:55
есть метод getCause(). нужно посмотреть, что является причиной, и отловить то, что нужно

Google

Arrow
17.08.2017
06:20:59
неужели нельзя как в примере получить просто список полей?

Sergey
17.08.2017
06:21:48
можно, с гибернейтвалидатором :)

Arrow
17.08.2017
06:22:34
или хотя бы какой класс мне нужен

Евгений
17.08.2017
06:23:29
лучше стэктрейс скинь. а то не понятно что там вообще происходит

Arrow
17.08.2017
06:27:09

Евгений
17.08.2017
06:30:58
java.lang.IllegalStateException: No suitable resolver for argument [0] [type=org.springframework.web.bind.MethodArgumentNotValidException]
говорит метода подходящего не нашёл. т.е. ControllerAdvice не работает. Проверь классы в аннотациях, импорты, то что ControllerAdvice вообще поднимается как бин (есть в пакетах поиска бинов). и clean install )

Sergey
17.08.2017
06:31:14
Ты аннотацией пометил
А тип исключения в аргументе не поменял
Хитрый

Arrow
17.08.2017
06:32:47

Google

Евгений
17.08.2017
06:33:42
значит работает. остались другие пункты. и вообще, давай-ка ещё и код))) раз уж взялись за тебя лабу делать

Arrow
17.08.2017
06:34:30

Евгений
17.08.2017
06:34:41
совета
@ControllerAdvice

Arrow
17.08.2017
06:35:59
@ControllerAdvice
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler({MethodArgumentNotValidException.class, IllegalStateException.class})
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public String processValidationError(MethodArgumentNotValidException ex) {
BindingResult result = ex.getBindingResult();
List<FieldError> fieldErrors = result.getFieldErrors();
return "error";
}
}тут я пока не оформил возврат ошибки, просто отладчиком встаю в надежде что зайдет...

Sergey
17.08.2017
06:41:13
Я же говорю ты хитрый, накидал туда иллегал, но как аргумент не передаешь

Евгений
17.08.2017
06:43:30
всё верно. я подразумевал для IllegalState отдельный метод. неточно выразился

Moon
17.08.2017
06:44:25
Ребят, всем привет
Кто-нибудь сможет помочь с rx?
Вот код и сам вопрос
https://ru.stackoverflow.com/questions/706869/Алгоритм-аутентификации-на-rx
Заранее благодарен

Arrow
17.08.2017
06:45:04
потому что в IllegalStateException нет таких удобных методов как в MethodArgumentNotValidException ?

Евгений
17.08.2017
06:46:29
там, я так понял, как бы не ошибка валидации, а ошибка биндинга.
Invalid property 'person' of bean class [ru.company.practice.view.CounterpartyDetailView]
property 'person.email' does not have a corresponding accessor

Arrow
17.08.2017
06:48:03

Евгений
17.08.2017
06:50:28
я так понял, что spring пытается положить json в объект, но по пути person.email записать не может
с валидными данными ошибки нет?

Sergey
17.08.2017
06:53:40
геттеры сеттеры везде есть?

Arrow
17.08.2017
06:54:40
геттеры сеттеры везде есть?
я не использую их, вообще не понимаю вот этой моды пихать всюду где надо и не надо геттеры/сеттеры, у меня просто поля объявлены везде и все
публичные поля

Moon
17.08.2017
06:56:13
Это же вроде не комильфо

Евгений
17.08.2017
06:56:21
в таком случае это карма :D

Google

Alexei
17.08.2017
06:56:35
кто делал swagger + oauth2 через password?

Moon
17.08.2017
06:56:35

Arrow
17.08.2017
06:57:48
так что идей больше нет?((

Евгений
17.08.2017
06:58:21
код в студию

Arrow
17.08.2017
06:58:28
вьюхи?

Евгений
17.08.2017
06:58:49
контроллера и того, куда маппится реквест

Arrow
17.08.2017
07:00:03

Евгений
17.08.2017
07:00:23
да, и json

Sergey
17.08.2017
07:00:27
контерпати тоже давай

Arrow
17.08.2017
07:00:54
да, и json
{
"bailee": {
"email": "string",
"id": 0,
"name": "string",
"phone": "string"
},
"contactPersons": [
{
"email": "string",
"id": 0,
"name": "string",
"phone": "string"
}
],
"id": 0,
"legalEntityId": 0,
"person": {
"email": "string",
"id": 0,
"name": "string",
"phone": "string"
}
}
контерпати тоже давай
public class CounterpartyDetailView {
public Long id;
/**
* Id юр. лица
*/
@NotNull
public Long legalEntityId;
/**
* Данные контрагента
*/
@NotNull
@Valid
public PersonView person;
/**
* Данные ответственного лица
*/
@NotNull
public PersonView bailee;
/**
* Контактные лица.
*/
@NotNull
public List<PersonView> contactPersons;
}

Arrow
17.08.2017
07:10:56
есть идеи?
?

Евгений
17.08.2017
07:22:02
ну чтож. единственный вариант у меня - всетаки прописать геттеры и сеттеры

Arrow
17.08.2017
07:28:29

Евгений
17.08.2017
07:29:12
думаю - да

Arrow
17.08.2017
07:33:45
думаю - да
а можно их не делать приватными?))) а то мне еще мапперы придется переписывать

Евгений
17.08.2017
07:33:57
можно )
кстати, если влом писать геттеры и сеттеры, есть project lombok

Google

Arrow
17.08.2017
07:39:00
да идея их сама генерирует так то
просто я считаю что это лишний код
без них чище все

Евгений
17.08.2017
07:39:56
там просто можно пометить класс аннотациями

Arrow
17.08.2017
07:40:55
слушай охренеть, но кажется это сработало ?
стало заходить в public String processValidationError(MethodArgumentNotValidException ex)
даже с ошибками валидации вложенных моделей

Евгений
17.08.2017
07:41:32
я же говорил, карма. spring учит тебя сокрытию данных )))

Admin
ERROR: S client not available

Arrow
17.08.2017
07:42:48
ну это жесткий бред имхо - требовать обязательных геттеров/сеттеров... мне кажется это дело вкуса, ведь поля можно с тем же успехом инициализировать, а если тебе например нужен только геттер то можно поле сделать final и все
как например в стандартных массивах есть поле final length

Евгений
17.08.2017
07:44:05
ноуп, это принцип oop. вопрос в том, зачем тогда вообще есть public не static поля

Arrow
17.08.2017
07:44:36
я не против инкапсуляции в принципе, но геттеры/сеттеры не везде нужны
имхо

Евгений
17.08.2017
07:45:24
юзай https://projectlombok.org/features/GetterSetter

Arrow
17.08.2017
07:45:27
вот в C# почти все делается на геттерах/сеттерах, но там они нативные и автореализуемые зачастую
они задаются одной строчкой там и используются как обычные поля((
а тут много кода лишнего выходит

Google

Arrow
17.08.2017
07:46:29
мне в java реально очень сильно не хватает нормальных properties
я с C# перешел 2 месяца назад

Евгений
17.08.2017
07:46:50
да, java вообще многословный язык. ты знал на что шёл ))) public void methodThatDividesFirstArgumentBySecond()

Arrow
17.08.2017
07:48:35

Vyacheslav
17.08.2017
07:48:48

Евгений
17.08.2017
07:49:28

Vyacheslav
17.08.2017
07:50:22
м?
Ну шо "м"? Видосики на ютубе так называются

Евгений
17.08.2017
07:51:47
о чём там?

Arrow
17.08.2017
07:51:52
Ну шо "м"? Видосики на ютубе так называются
не понимаю людей которые учаться программировать по видосикам))) я предпочитаю воспринимать информацию в текстовом виде, главное чтоб она была хорошо написана, например на метаните охренительно все рассказывается, правда там нет пока спринга

Vyacheslav
17.08.2017
07:52:52
о чём там?
Предлагаю открыть Гугл и самому посмотреть

Arrow
17.08.2017
07:53:41

Vyacheslav
17.08.2017
07:54:02
Какие-то вы с утра странные
Пездос
Я вот 2 рабочий день на новом месте. Мне всё никак не могут принести комп и дать пароли от интернета. А ещё почему-то вижлу ставят на рабочий комп. Сказали, что у них такой рабочий пакет

Del
17.08.2017
07:55:57
ну там можт корпоративные проги какие
линкии все такое

Vyacheslav
17.08.2017
07:57:00
Кровавый интыпрайз
Вижлу джависту ставить - эт ок