gpt4 book ai didi

java - Spring 启动 2x。休息 API。将失败的字符串转换为日期

转载 作者:行者123 更新时间:2023-12-02 10:56:13 26 4
gpt4 key购买 nike

我从客户端传递给api对象

@ApiModel(value = "EMail", description = "Model with property for sending email")
@Document(collection = "email")
public class EMail extends Letter {

@ApiModelProperty(value = "Date send email")
private Date sendEmail;

public Date getSendEmail() {
return sendEmail;
}

public void setSendEmail(Date sendEmail) {
this.sendEmail = sendEmail;
}

这是我的 Controller

@ApiOperation(value = "Save email")
@CrossOrigin
@RequestMapping(value = "/saveEmail", method = RequestMethod.POST)
public void saveEmail(EMail eMail){
eMailService.saveEmail(eMail);
}

当我将电子邮件传递给 api 时,我收到错误消息,指出 Spring Boot 无法将字符串转换为日期,尽管日期格式为 ISO Date_Time(Spring Boot 中的默认值)。这是异常(exception)

Failed to convert from type [java.lang.String] to type [@io.swagger.annotations.ApiModelProperty @org.springframework.format.annotation.DateTimeFormat java.util.Date] for value '2018-08-03T07:38:17.856+0000'; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [2018-08-03T07:38:17.856+0000]","objectName":"EMail","field":"sendEmail","rejectedValue":"2018-08-03T07:38:17.856+0000","bindingFailure":true,"code":"typeMismatch"}],"message":"Validation failed for object='EMail'. Error count: 1","path":"/api/saveEmail"}

最佳答案

您需要使用@org.springframework.format.annotation.DateTimeFormat更新您的电子邮件模型

@ApiModel(value = "EMail", description = "Model with property for sending email")
@Document(collection = "email")
public class EMail extends Letter {

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
@ApiModelProperty(value = "Date send email")
private Date sendEmail;

public Date getSendEmail() {
return sendEmail;
}

public void setSendEmail(Date sendEmail) {
this.sendEmail = sendEmail;
}
}

这将为查询和路径参数应用正确的绑定(bind)。

关于java - Spring 启动 2x。休息 API。将失败的字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51714738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com