2013-04-22 1 views
0

Мы знаем, что JAX-RS упростил отображение значений ввода формы непосредственно в свойства сервера или параметры метода.Проверка формы HTML на основе проверки боба в приложении JAX-RS 2.0

Теперь JAX-RS 2.0 обеспечивает способ проверки значений на стороне сервера с использованием проверки бобов, что действительно потрясающе.

Но как мы можем представить полезную информацию валидации в интерфейсе (для пользователя, который отправляет форму HTTP) по методу Ajax?

ответ

1

Возможный подход заключается в следующем. Создать класс ErrorEntity, что-то вроде

@XmlRootEntity 
public class ErrorEntity{ 
    private String errorCode; 
    private String description; 

    //getters, setter, constructors 

} 

затем, в случае броска ошибки:

int statusCode = 500; 
ErrorEntity ee = new ErrorEntity("SYSTEM", "Cannot connect to database, etc."); 
throw new WebApplicationException(Response.status(statusCode).entity(ee).build()); 

Очевидно использовать правильный код ошибки HTTP (400 для некорректного содержания, 404 недостающих данных и т.д.).

В приложении AJAX, если вы получаете что-то другое, то 200, 204 или 302 ожидают, что вы получите JSON или XML с содержимым ErrorEntity.

Простейшим решением является просто вернуть String в качестве объекта с некоторой информацией об ошибке + код состояния HTTP.

throw new WebApplicationException(Response.status(500).entity("Cannot connect to DB, ...").build()); 

 Смежные вопросы

  • Нет связанных вопросов^_^