1
현재 Jersey와 Moxy를 Glassfish에서 사용 중입니다. 4. JSON 콘텐츠가 유효하지 않은 경우 Jersey/Moxy에 HTTP 요청을 거부하도록 지시 할 수 있습니까 (예 : JSON을 POJO에 바인딩 할 때보다 많은 개체가 포함되어 있음).)?JSON을 언 마샬링 할 때 Jersey/Moxy를 더 제한적으로 만드는 방법은 무엇입니까?
현재 Jersey와 Moxy를 Glassfish에서 사용 중입니다. 4. JSON 콘텐츠가 유효하지 않은 경우 Jersey/Moxy에 HTTP 요청을 거부하도록 지시 할 수 있습니까 (예 : JSON을 POJO에 바인딩 할 때보다 많은 개체가 포함되어 있음).)?JSON을 언 마샬링 할 때 Jersey/Moxy를 더 제한적으로 만드는 방법은 무엇입니까?
MOXyJsonProvider
이라는 자체 하위 클래스를 만듭니다 (http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html 참조). 그 서브 클래스에서 나는 preReadFrom
메소드를 오버라이드 할 것이다. 이 방법에서는 Unmarshaller.Listener
을 설정합니다.
@Override
protected void preReadFrom(Class<Object> type, Type genericType,
Annotation[] annotations, MediaType mediaType,
MultivaluedMap<String, String> httpHeaders,
Unmarshaller unmarshaller) throws JAXBException {
Unmarshaller.Listener ul = new YourUnmarshallerListener();
unmarshaller.setListener(ul);
}
그런 다음 Unmarshaller.Listener
는 객체가 비 정렬 화 될 때마다 계산하고 너무 많은 읽을 경우 오류가 밖으로 것입니다.
멋진 아이디어! 고맙습니다! 나는이 코드가'@ Provider' 주석 덕분에 Glassfish에 자동으로 주입된다고 생각합니다. 맞습니까? – mrik974