王海鱼 发表于 2024-9-26 02:37:08

Springboot3,Vue3 Date丢失Time的问题

 Vue3
<el-date-picker v-model="form.receiveDate"

format="YYYY/MM/DD HH:mm:ss"

value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"

placeholder="Enter Receive Date"

size="default" /> SpringBoot3
public AjaxResponse saveOrUpdate(@RequestBody Receipt receipt) @RequestBody 通过Jackson序列化参数后Time部分丢失,以及Time Zone 错误。

解决方法一

在对应的字段上添增强制类型转换
//        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        public Date receiveDate; 解决方法二

@Configuration
public class SerializerJacksonBean {

    @Bean
    public ObjectMapper objectMapper() {
           
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

    通过这一行转化
   objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));

   objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
           
   return objectMapper;
    }
} Jackson 配置时区
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.serialization.write-dates-as-timestamps=false

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Springboot3,Vue3 Date丢失Time的问题