최대 절전 모드, 잭슨은 최대 절전 모드.날짜가, 잭슨은 joda에 서식 날짜를 설정하는 방법
import org.joda.time.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
//other imports...
@Entity
public class Example {
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
@JsonFormat(pattern = "dd/MM/yyyy'T'HH:mm")
private DateTime eventDateTime;
//getters setters
}
//registration joda jackson module:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JodaModule());
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy'T'HH:mm");
objectMapper.setDateFormat(df);
//If I send JSON like:
{"eventDateTime": "19/05/2014T14:8"}
//my spring controller:
@RequestMapping(method = RequestMethod.POST)
public void saveExample(@RequestBody Example example) { ..
내 봄 컨트롤러는 항상 내가 응답 오류 (400) 받고 있어요 그래서 "클라이언트가 보낸 요청의 구문이 잘못되었습니다"드 - 직렬화 eventDateTime에 실패합니다.
나는에 날짜 형식을 변경하는 경우 :
{"eventDateTime": "2014-05-19T14:8"}
과 작동합니다.
은 'YYYY-MM-DD'과 형식 사이의 자바 스크립트의 모든 변형은 낭비입니다. java.util.Date 유형에 작동합니다 –
나는 @JsonFormat (패턴 = "mm DD는/MM/yyyy'T'HH")가 있기 때문에 그 문제는, 통합 netween의 joda와 잭슨에 생각합니다. –
내 대답의 마지막 부분에서 언급했듯이 JsonDeserializer를 사용해보십시오. joda DateTime 객체에 대해 원하는 변환 전략을 지정할 수 있습니다. – Planky