use*_*835 7 java rest spring java.time.instant
我有一个 Spring Boot Restful API 服务,它在其响应中返回一个 Java 对象,该对象被转换为 json。
Java 对象属性之一是“Java.time.Instant”。我应该如何将其转换为返回的 json 对象?
我尝试过使用 @JsonFormat 但这不起作用......
返回的 Java 对象有一个“Instant”属性...
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ",timezone = "UTC")
public Instant getRequested() {
return Requested;
}
Run Code Online (Sandbox Code Playgroud)
这将在 json 响应正文中返回为...
"requested": {
"epochSecond": 1499342121,
"nano": 868000000
},
Run Code Online (Sandbox Code Playgroud)
我正在使用 Spring Boot 1.5.4
控制器的方法是...
@RequestMapping(value="/", method= RequestMethod.POST)
public AcceptedAccountRequest newRequest(@RequestBody NewAccountRequest aRequest) {
AcceptedAccountRequest anAcceptedRequest = createAccepted(aRequest);
return anAcceptedRequest;
}
Run Code Online (Sandbox Code Playgroud)
您可以简单地使用java.time.Instant它们的表示.toString()
如果您使用 Spring,您可能必须将 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) 添加到您的 RestMethod 以确保它正确转换
| 归档时间: |
|
| 查看次数: |
13815 次 |
| 最近记录: |