Java 我需要将日期从json传递到我的控制器
嗨,我是个约会新手 这是我的控制器。我想传递字符串日期,而不是Instant.now()。Java 我需要将日期从json传递到我的控制器,java,rest,date,thymeleaf,Java,Rest,Date,Thymeleaf,嗨,我是个约会新手 这是我的控制器。我想传递字符串日期,而不是Instant.now()。 @PutMapping("/edit") public void edit (@RequestBody Client client) { clientService.update (client.getId (), Instant.now ()); } public interface ClientService { Subscription upda
@PutMapping("/edit")
public void edit (@RequestBody Client client) {
clientService.update (client.getId (), Instant.now ());
}
public interface ClientService {
Subscription update(String clientId, Instant myTime);
}
${#temporals.format(client.myTime, 'yyyy-MM-dd')}
我的实体
@NotNull
@JsonProperty("myTime")
@JsonFormat(pattern="yyyy-MM-dd")
private OffsetDateTime myTime;
public OffsetDateTime getMyTime() {
return myTime;
}
public void setMyTime(OffsetDateTime myTime) {
this.myTime = myTime;
}
当我尝试将client.getMyTime()传递给edit()时,我有以下情况:
org.springframework.http.converter.httpMessageNodeTableException:
无效的JSON输入:无法反序列化类型的值
java.time.OffsetDateTime
来自字符串“2021-05-05”:未能
反序列化java.time.OffsetDateTime:(java.time.DateTimeException)
无法从TemporalAccessor获取OffsetDateTime:{},已解析为ISO
至2021-005-05,类型为java.time.format.Parsed;嵌套异常是
com.fasterxml.jackson.databind.exc.InvalidFormatException
如何解决?如何将日期从前端传递到控制器?尝试使用
java.util.date
对象
private Date myTime;
格式不是必需的。您使用的是Thymeleaf HTML模板还是REST JSON API?您使用的是
@Controller
还是@RestController
?是的,我使用Thymeleaf,我使用restcontrollers,所以您使用Thymeleaf显示HTML页面(通过@Controller
),然后使用JavaScript向REST API发出AJAX请求(使用@RestController
),对吗?使用OffsetDateTime有什么具体原因吗?在我的项目中有很多OffsetDateTime的用法。换成别的东西会有很大的问题。