내 웹 응용 프로그램에서 JAX-RS를 사용하여 자체 객체를 반환합니다. 계속하고 싶지만 HTTP 응답 코드 (예 : 무단으로 401 등)를 설정하고 싶습니다. 내가 찾은 정보에서 내 사용자 지정 개체가 아닌 응답 유형을 반환해야하는 것처럼 보입니다. 맞습니까?JAX-RS에서 사용자 정의 객체 반환 및 응답 코드 제어
내 현재 코드 (간체) - MyReponse는 JAXB를 처리하는 방법을 알고있는 객체 인 경우 :
@POST
@Produces({MediaType.APPLICATION_XML , MediaType.APPLICATION_JSON})
public MyResponse RegisterUser (
@FormParam("userName") String userName,
@FormParam("password") String password) {
// add user logic
return new MyResponse(....<params to ctor...);
}
나는 파티에 늦었다 고 알고있다. 그러나 나는 덧글을 게시하고 싶다. 파벨이 말한 것처럼 분명히 할 수 있지만 예외를 사용하면 두 세계의 장점을 모두 얻을 수있다. 당신의 메소드는 MyObject 타입을 리턴 할 것이고, 401 예제에서 WebApplicationException을 던져서 상태 코드와 엔티티 바디를 채울 것이다. 예를 보려면 http://stackoverflow.com/a/7959366/2025882를 참조하십시오. – Mike
@Mike 이 작업을 수행 할 때 오류 500이 발생합니다. 문제가 무엇입니까? –
코드를 보지 못해서 미안합니다. – Mike