2012-03-23 3 views
0

스프링 MVC에서 http 코드 422를 반환하는 지원이 있는지 아는 사람 있습니까? 스프링 MVC를 사용하여 엄격하게 RESTFul 서비스를 개발 중이며 모든 POST 요청에 대해 데이터 유효성 검사를 수행하려고합니다. 모든 사람이 시도하는 일반적인 관습은 유효성 확인 메시지를 본문에 전달하지만 422 응답을 전달하는 것입니다. 사용자 정의 유효성 검사 코드를 실행 한 후 422를 자동으로 반환하는 일부 Spring Bean을 구성 할 수 있습니까?봄 휴식 지원 - HTTP 코드 422

덕분에, 고츠

+0

은 응답에서 422를 설정하는 방법에 대한 질문입니까, 아니면 모든 컨트롤러에 대해 한 번에 그러한 기능을 수행하는 방법입니까? – Ralph

+0

글쎄, 나는 스프링 빈을 확장하는 자신 만의 유효성 검사기를 작성하고 싶다. 그런 다음 내 유효성 검사기를 호출하는 메서드를 재정의하고이 메서드에서 일반 응답을 반환 할 수있게하려고합니다. – gotz

답변

0

난 당신이 할 수 있다고 생각 org.springframework.web.servlet.HandlerInterceptor

그것은 3 가지 방법, preHandle 요청 핸들러 메소드가 호출되기 전에 호출하고, 요청 처리기 방법 retunrs 후 postHandle되어 있으며, 뷰가 렌더링되기 전에 afterComplete이 뷰가 렌더 된 후에 호출됩니다.

웹 요청 체인에 연결하여 요청 및 응답을 수정할 수 있다고 생각합니다.

+0

감사합니다. Ralph. 자동으로 422를 돌려 주나요? 아니면 422를 명시 적으로 설정해야합니까? 내가 후자를하고 싶지 않다는 것은 REST를 완벽하게 지원하지 않는 프레임 워크에 엄격히 휴식을 취하는 것을 의미하기 때문이다. – gotz

+0

'HandlerInterceptor'는 그냥 후크 일 뿐이므로 로직을 구현해야한다. 너 스스로. – Ralph