栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

前后端时间格式转换遇到的坑,使用springboot接收前端的String类型时间转换成Date类型存到数据库,且接口传入文件流和Date对象或者其他对象的处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

前后端时间格式转换遇到的坑,使用springboot接收前端的String类型时间转换成Date类型存到数据库,且接口传入文件流和Date对象或者其他对象的处理

首先让前端把时间的格式装换成"yyyy-MM-dd HH:mm:ss"格式(你们喜欢的格式)

那么后端怎么处理呢,实体类(pojo层)需要加上两个注解

@DatetimeFormat:将前台日期字符串转换成Date格式 @DateTimeFormat(pattern="yyyy-MM-dd")
 
@JsonFormat:将服务器端Date日期转换成指定字符串格式 @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
注意:timezone 表示后台时区属性加8小时,前端时间控件也需要加8小时,否则会产生时区差异问题

public class evaluateDate {
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;
}

然后,在写controller层写接口跳转,我这里的接口是传入多个参数的,有文件流和一个对象

@RestController
@RequestMapping(value = "/api",method = RequestMethod.POST)
public class ExcelController {
    @Autowired
    private ExcelService excelService;
 @CrossOrigin
    @RequestMapping(value = "/analysisExcel",method = RequestMethod.POST)
    public Result analysisExcel(@RequestParam("files") MultipartFile[] files,evaluateDate date){
        //使用easyExcel读取数据
        boolean flag = excelService.readExcel(files);
      
        //获取评价的开始时间和结束时间
        excelService.saveevaluateDate(date);
  }
}   

注意:在方法体,传时间的对象“evaluateDate date”前不要加任何注解,如@RequestParam("date")、@RequestBody等等,就会报错:Content type 'multipart/form-data;boundary=--------------------------304791335149646901630970;charset=UTF-8' not supported]

最后,使用postman测试接口,要注意因为要传给文件,那么时间对象就要获取实体类的的正式参数传(如果直接传实体类对象,是传送不了,具体我不知道,希望有大佬告诉我)如图

 当然,我这是局部处理时间格式,大家是可以百度使用全局配置时间转换格式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号