2012-04-04 2 views
3

JAX-RS 응답으로 일반 설명 엔터티 형식을 반환하는 방법이 있습니까? REST-Easy ClientReponse하지만 JAX-RS 표준 및 구현 특정 클래스가 아닌 것과 같은 것.JAX-RS 일반 응답 및 인터페이스 프록시

사실 (일부 프록시 공급자가 만든) 공유 인터페이스를 통해 내 REST 서비스를 호출하고 객체 만 반환하면 필요한 정보를 추가 할 수 없습니다. 예 : POST를 통해 리소스를 생성하기 위해 새로 생성 된 리소스 등에 URL을 반환하고 싶습니다. 간단한 응답 Retention은 그러한 응답 내에 저장된 엔터티 유형을 보여주지 않습니다.

Response<MyObject> getMyObject(@PathParam("id" Integer id) 

는 지금까지 내가 ... 간단한 응답을 반환하고 단순히

답변

1

아마 그런 옵션이 없습니다 (을 .class) Response.getEntity를 호출 어댑터를 만들어야 할 것으로 보인다

+0

불쌍합니다. 동일한 일반 응답을 찾고 있었고 JAX-RS 2.x의 큰 개선이라고 생각합니다. –

+0

예, 우리는 희망 할 수 있습니다. – d1x

-1

GenericEntity을 사용하면 제네릭을 반환 할 수 있습니다. 실제 유형은 런타임시 GenericEntity에 의해 유지되어 객체의 직렬화를 허용합니다.

사용 방법에 대한 인위적인 예입니다.

GenericEntity entity = new GenericEntity<Employee>(new Employee()); 
return Response.ok(entity).build(); 
+0

IMO이 문제를 해결하지 못합니다. 공유 인터페이스의 메소드 서명을 어떻게보아야합니까? 엔티티를 응답에 전달하는 방법을 알고 있으므로 GenericEntity를 사용할 필요가 없습니다. 클라이언트는 단순히 Response 객체를 필요로하지만 (예 : 다양한 헤더를 검사하는 등), 응답으로부터 일반적인 리턴 유형을 얻는 것도 괜찮습니다. – d1x