springboot接收日期字符串参数与返回日期字符串类型格式化

 更新时间:2024年01月20日 09:53:10   作者:jsq6681993  
这篇文章主要介绍了springboot接收日期字符串参数与返回日期字符串类型格式化,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

接口请求接收日期字符串

方式一

全局注册自定义Formatter

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addFormatter(new Formatter<Date>() {
            @Override
            public Date parse(String date, Locale locale) {
                return new Date(Long.parseLong(date));
            }

            @Override
            public String print(Date date, Locale locale) {
                return Long.valueOf(date.getTime()).toString();
            }
        });
    }
}

方式二

在接口参数使用@DateTimeFormat注解

// 在参数上加入该注解
@GetMapping("/testDate")
public void test(@DateTimeFormat(pattern = "yyyy-MM-dd")Date date){
}

方式三

参数映射实体类属性上加@DateTimeFormat注解

@Data
public class User{
    private String name;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
}
// 在接收类字段加入该注解
@PostMapping("/testDate")
public void addUser(@RequestBody User user){
}

接口请求返回日期字符串格式化

方式一

全局注册消息转化器

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
     @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    //调用父类的配置
        super.configureMessageConverters(converters);
        //创建fastJson消息转换器
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        //创建配置类
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig .setDateFormat("yyyy-MM-dd HH:mm:ss");
        //保留空的字段
        fastJsonConfig .setSerializerFeatures(SerializerFeature.WriteMapNullValue);
        // 按需配置,更多参考FastJson文档
        fastConverter .setFastJsonConfig(config);
        fastConverter .setDefaultCharset(Charset.forName("UTF-8"));
        converters.add(fastConverter );
    }
}

方式二

返回映射实体类属性上加@JsonFormat注解

@Data
public class User{
    private String name;
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date birthday;
}

方式三

配置文件配置

spring:
    jackson:
        date-format: yyyy-MM-dd HH:mm:ss
        time-zone=GMT+8

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解析Spring 漏洞及其修复方案

    解析Spring 漏洞及其修复方案

    官宣了最近网传的Spring漏洞。攻击者利用该漏洞,可在未授权的情况下远程执行命令,今天通过本文给大家普及下漏洞分析影响范围及解决方案,感兴趣的朋友跟随小编一起看看吧
    2022-04-04
  • SpringBoot中的@EnableConfigurationProperties注解原理及用法

    SpringBoot中的@EnableConfigurationProperties注解原理及用法

    在SpringBoot中,@EnableConfigurationProperties注解是一个非常有用的注解,它可以用于启用对特定配置类的支持,在本文中,我们将深入探讨@EnableConfigurationProperties注解,包括它的原理和如何使用,需要的朋友可以参考下
    2023-06-06
  • mybatis中映射文件include标签的应用

    mybatis中映射文件include标签的应用

    这篇文章主要介绍了mybatis中映射文件include标签的应用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 十大常见Java String问题_动力节点Java学院整理

    十大常见Java String问题_动力节点Java学院整理

    本文介绍Java中关于String最常见的10个问题,需要的朋友参考下吧
    2017-04-04
  • Spring Stomp 消息传递使用

    Spring Stomp 消息传递使用

    本文主要介绍了Spring Stomp 消息传递使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-02-02
  • Hadoop Combiner使用方法详解

    Hadoop Combiner使用方法详解

    这篇文章主要介绍了 Hadoop Combiner使用方法详解的相关资料,希望通过本文能帮助到大家让大家理解掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • 关于spring aop两种代理混用的问题

    关于spring aop两种代理混用的问题

    这篇文章主要介绍了关于spring aop两种代理混用的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java进阶之FileUpload完成上传的实例

    Java进阶之FileUpload完成上传的实例

    这篇文章主要介绍了 Java进阶之FileUpload完成上传的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • IDEA中git对于指定文件进行版本控制的全过程

    IDEA中git对于指定文件进行版本控制的全过程

    用户在IDEA中遇到默认提交所有修改的问题,通过配置.gitignore和.git/info/exclude忽略特定文件,并利用vcs.xml指定版本控制范围,实现精准版本管理,本文通过图文给大家介绍了IDEA中git对于指定文件进行版本控制的全过程,需要的朋友可以参考下
    2025-05-05
  • idea中提示Class 'xxx' is never used的解决

    idea中提示Class 'xxx' is never us

    这篇文章主要介绍了idea中提示Class 'xxx' is never used的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论