我正在開發一個簡單的 REST 控制器。我在請求正文中收到一個 SimpleDateFormat 物件。看起來像這樣:
2014-04-13T03:42:06-02:00
我現在的方法是:
@PostMapping
public ResponseEntity<Flight> addFlight(@RequestBody JSONObject object) {
Flight newFlight = new Flight(object.get("flightNumber").toString(), new
SimpleDateFormat ( object.get("departureDate").toString()));
repository.save(newFlight);
return ResponseEntity.status(HttpStatus.ACCEPTED).body(newFlight);
}
和類
@Data
@Entity
@DynamicUpdate
@NoArgsConstructor(access = AccessLevel.PRIVATE, force = true)
@RequiredArgsConstructor
@AllArgsConstructor
public class Flight {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private final String flightNumber;
private final SimpleDateFormat date;
}
一切都很好編譯,但是當我發送 POST 或 GET 時,我收到了我傳遞的所有資料,但 SimpleDateFormat 為空。我該如何修復它?我還嘗試將 Object 傳遞給 FlightClass,然后在類的建構式中使用轉換器,但我仍然有 null。
uj5u.com熱心網友回復:
SimpleDateFormat是一個遺留類,我會推薦OffsetDateTime因為您的輸入代表帶有偏移量的 ISO-8601
在 ISO-8601 日歷系統中與 UTC/格林威治有偏移的日期時間,例如 2007-12-03T10:15:30 01:00。
OffsetDateTime dateTime = OffsetDateTime.parse(object.get("departureDate").toString());
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/461431.html
