Използвам Jersey, за да разработя моята REST уеб услуга.
Опитвам се да внедря валидации и за това използвах отличните интеграции с офертите на JSR-303 Bean Validation Jersey.
След това дефинирам ExceptionMapper, за да изведа това, което искам от възникналите грешки. Проблемът е, че понякога изключения се случват не в контекста на валидирането на Bean.
Пример:
клиент изпраща невалидна стойност за float (напр. "ABC"). Джаксън хвърля изключение, защото не може да анализира дадения JSON до плаваща стойност. Това се очаква.
Мога да напиша ExceptionMapper за това изключение и да го изведа на клиента. Въпреки това, това, което бих искал, е да събера всички тези различни изключения, идващи от различни източници, и да ги изведа всички. С други думи, бих искал да извеждам грешките, възникнали по време на анализиране и от проверката на Bean в един и същи отговор, а не поотделно.
Има ли някакъв начин да продължите да събирате всички изключения и накрая да ги изведете всичките? Първият проблем, който предполагам, че ще се случи, е, че Bean Validation никога няма да се случи, докато Джаксън не анализира правилно заявката.