@jvmchat

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

Arrow
17.08.2017
06:18:47
если точно этот класс у тебя в проекте, то должно попадать в public ResponseEntity<ErrorVM> processException(Exception ex) {
из обычного Exception нельзя взять нужную информацию, надо какой-то более специализированный класс ошибки в котором будут имена полей и ошибок с ними связанных

как в примере

Евгений
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
лучше стэктрейс скинь. а то не понятно что там вообще происходит

Евгений
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
java.lang.IllegalStateException: No suitable resolver for argument [0] [type=org.springframework.web.bind.MethodArgumentNotValidException] говорит метода подходящего не нашёл. т.е. ControllerAdvice не работает. Проверь классы в аннотациях, импорты, то что ControllerAdvice вообще поднимается как бин (есть в пакетах поиска бинов). и clean install )
> то что ControllerAdvice вообще поднимается как бин (есть в пакетах поиска бинов) что это значит? у меня заходит в него в обработчик когда невалидные поля на верхней модели, значит он работает

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

Евгений
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
всё верно. я подразумевал для IllegalState отдельный метод. неточно выразился
ок, с отдельным методом заходит, но все равно вопрос в том как получить нужные данные...

потому что в 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

Евгений
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
контроллера и того, куда маппится реквест
@PostMapping("/addCounterparty") public void addCounterparty(@Valid @RequestBody CounterpartyDetailView counterparty) { service.addCounterparty(counterparty); }

Евгений
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
юзай https://projectlombok.org/features/GetterSetter
странно это, а что в коде когда ты будет юзать эти геттеры/сеттеры не будет разве ругаться на то что их нет? они же насколько я понимаю сгенерируются только на этапе компиляции

Vyacheslav
17.08.2017
07:48:48
да, java вообще многословный язык. ты знал на что шёл ))) public void methodThatDividesFirstArgumentBySecond()
Опа,а тут можно посоветовать сразу серию видосиков "спринг потрошитель"

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

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

Arrow
17.08.2017
07:51: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
Кровавый интыпрайз

Вижлу джависту ставить - эт ок

Страница 1723 из 2890