后台接收datetime_input上传date日期时间数据到后台报400怎么办?
前端上傳日期時(shí)間數(shù)據(jù)到后臺(tái)時(shí),上傳失敗
我這里是用里存放時(shí)間,上傳到后臺(tái)的controller方法時(shí),參數(shù)類型是java.util.Date,發(fā)現(xiàn)沒有到controller方法里面。報(bào)錯(cuò):不能將String轉(zhuǎn)成Date。
我想錯(cuò)誤的原因是前端傳上來(lái)的是String,而controller方法里用Date接收,因?yàn)檗D(zhuǎn)換失敗而一直不能把數(shù)據(jù)傳到controller。
一開始的錯(cuò)誤代碼
從
到
取消
確定預(yù)約
function bookCar() {
alert($("#book_car_form").serialize());
$.post("front/order/bookCar", $("#book_car_form").serialize(), function (data) {
if (data == "1") {
alert("預(yù)約成功!");
} else {
alert("預(yù)約失敗!");
}
window.location.reload();
});
}
controller
@RequestMapping("bookCar")
public String bookCar(Integer carId, Date startUseCarDatetime, Date endUseCarDatetime, HttpSession session) {
//...
}
解決方法
方法1
在controller方法里面的參數(shù)的類型都改為String
@RequestMapping("bookCar")
public String bookCar(Integer carId, String startUseCarDatetime, String endUseCarDatetime, HttpSession session) {
//...
}
方法2
如果想用一個(gè)pojo接收,可以在Date屬性加上@DateTimeFormat標(biāo)簽
@RequestMapping("bookCar")
public String bookCar(BookCarQueryVo bookCarQueryVo, HttpSession session) {
//...
}
public class BookCarQueryVo {
private Integer carId;
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date startUseCarDatetime;
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date endUseCarDatetime;
public Integer getCarId() {
return carId;
}
public void setCarId(Integer carId) {
this.carId = carId;
}
public Date getStartUseCarDatetime() {
return startUseCarDatetime;
}
public void setStartUseCarDatetime(Date startUseCarDatetime) {
this.startUseCarDatetime = startUseCarDatetime;
}
public Date getEndUseCarDatetime() {
return endUseCarDatetime;
}
public void setEndUseCarDatetime(Date endUseCarDatetime) {
this.endUseCarDatetime = endUseCarDatetime;
}
}
如果有錯(cuò),請(qǐng)大家指正,謝謝。
總結(jié)
以上是生活随笔為你收集整理的后台接收datetime_input上传date日期时间数据到后台报400怎么办?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浦发库支票信用卡怎么分期免费
- 下一篇: OSG踩坑