2013-04-22 1 views
0

JAX-RS는 양식 입력 값을 서버 bean 특성 또는 메소드 매개 변수에 직접 매핑하는 것을 쉽게 알아 냈습니다.JAX-RS 2.0 애플리케이션의 bean 유효성 확인을 기반으로 한 HTML 폼 유효성 확인

이제 JAX-RS 2.0은 bean 유효성 검사를 사용하여 서버 측 값의 유효성을 검사하는 방법을 제공합니다.

하지만 Ajax 방식으로 프런트 엔드 (HTTP 양식을 제출하는 사용자)에게 유용한 유효성 정보를 어떻게 표시 할 수 있습니까?

답변

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()); 

는 분명히 (등, 데이터 누락, 잘못된 형식의 콘텐츠를 404 400) 적절한 HTTP 오류 코드를 사용합니다.

AJAX 응용 프로그램에서 200, 204 또는 302와 다른 내용을 얻으면 ErrorEntity 내용으로 JSON 또는 XML을 얻어야합니다.

가장 간단한 해결책은 String을 오류 정보 + HTTP 상태 코드가있는 엔터티로 단순히 반환하는 것입니다.

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