다중 파트/양식 데이터를 사용하는 JAX-RS 서비스를 만들기 위해 Apache CXF를 사용하고 있는데, 하나는 Java bean에서 처리하고있는 application/json
입니다. 내가 가지고있는 문제는 전달되는 날짜 형식이 표준 제티슨 디시리얼라이저에 의해 인식되지 않고 단지 null
이된다는 것입니다.CXF에서 사용자 지정 JSON 날짜 처리
서비스는 다음과 같습니다
@POST
@Path("/blah/")
@Consumes("multipart/form-data")
public String doBlah(MultipartBody body)
{
JSON json = atts.get(0).getObject(JSON.class);
}
json으로 개체는 다음과 같습니다
class JSON {
Date date;
}
에 전달 된 날짜가 같은 것입니다 : 내가 SimpleDateFormat
를 사용하여 변환하는 방법을 알고 November 25, 2012 13:35:24
, 그래서를 변경할 수 있습니다 JSON 문자열을 가지고 내가 값을 얻을 수있는 다음 수동으로 변환을 할 수 ...하지만 어떻게 jettison에서 변환 할 CXF 클래스를 등록합니까?
beans.xml에 설정이 있습니까? 아니면 사용자 정의 처리기를 추가하거나 기본값 인 Date
을 무시할 수 있습니까?
<jaxrs:server …>
<jaxrs:providers>
<bean class='….DateHandler' />
</jaxrs:providers>
</jaxrs:server>
날짜 핸들러 클래스 자체는 매우 간단 할 수있다 : 다음과 같이
체크 아웃 http://stackoverflow.com/questions/9520716/cxf-jaxrs-how-do-i-pass-date-as-queryparam – praseodym