Джерси - проверка данных перед отправкой объекта сущности в API REST - PullRequest
0 голосов
/ 03 апреля 2012

Я использую среду Jersey для связи (маршалинг и демаршаллинг объекта и xml) с API REST. Я отправляю данные (объект имеет атрибуты лота) следующим образом:

.
.   
ClientResponse response = webResource.type("application/xml").post(ClientResponse.class, object);
.

Я хотел бы спросить, как я могу проверить некоторые атрибуты объекта (например, частный строковый код в объекте должен иметь формат двух чисел и т. Д.)

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

По моему мнению, проверка приходит с веб-структурой, такой как распорки, злой, JFC ... чтобы назвать некоторые.Там пользователь вводит свои данные в форме, чтобы создать объект, который он хочет опубликовать в сервисе.У webframeworks уже есть компоненты для проверки этих данных.Когда произошла положительная проверка, вы отправляете сообщение в свой сервис.

0 голосов
/ 04 апреля 2012

Вы имеете в виду в службе, которая получает объект? Как ты пробовал? Он приходит как объект, или как вы хотите, чтобы он входил как. Мы часто принимаем Map<String,Object> и затем выполняем проверку на этой карте (если нам нужно решить, какой подтип создать, например, из публикации). Если у вас есть Джерси, чтобы отменить запрос в POJO для вас, вы можете затем выполнить любую проверку, которую хотите, и вернуть клиенту объект Response с информацией об ошибке проверки, если объект не пройдет.

Итак, другими словами, проверка зависит от вас. Есть несколько платформ валидации, которые вы можете попробовать помочь, такие как javax.validation, но IMHO, как правило, проще просто проверить каждое свойство, которое вам нужно, чтобы проверить себя, используя условные выражения, регулярные выражения и т. Д.

...