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

总结

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

相关文章

  • Java实现Excel导入导出操作详解

    Java实现Excel导入导出操作详解

    在平常的办公工作中,导入导出excel数据是常见的需求,今天就来看一下通过Java如何来实现这个功能,感兴趣的朋友可以了解下
    2022-02-02
  • SpringBoot本地磁盘映射问题

    SpringBoot本地磁盘映射问题

    这篇文章主要介绍了SpringBoot本地磁盘映射问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java 图表类库详解

    Java 图表类库详解

    本文主要介绍了Java图表类库的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 如何解决java:找不到符号符号:类__(使用了lombok的注解)

    如何解决java:找不到符号符号:类__(使用了lombok的注解)

    在使用IntelliJ IDEA开发Java项目时,可能遇到通过@lombok注解自动生成get和set方法不生效的问题,解决这一问题需要几个步骤,首先,确认Lombok插件已在IDEA中安装并启用,其次,确保项目中已添加Lombok的依赖,对于Maven和Gradle项目
    2024-10-10
  • kafka添加安全验证配置方式

    kafka添加安全验证配置方式

    这篇文章主要介绍了kafka添加安全验证配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • java 反射机制详解及实例代码

    java 反射机制详解及实例代码

    这篇文章主要介绍了java 反射机制详解及实例代码的相关资料,需要的朋友可以参考下
    2016-11-11
  • IDEA2020.1构建Spring5.2.x源码的方法

    IDEA2020.1构建Spring5.2.x源码的方法

    这篇文章主要介绍了IDEA2020.1构建Spring5.2.x源码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Java编程GUI中的事件绑定代码示例

    Java编程GUI中的事件绑定代码示例

    这篇文章主要介绍了Java编程GUI中的事件绑定代码示例,简单介绍了绑定的概念,然后分享了相关代码,具有一定参考价值,需要的朋友可以参考下。
    2017-10-10
  • Java的RocketMQ之消息存储和查询原理详解

    Java的RocketMQ之消息存储和查询原理详解

    这篇文章主要介绍了Java的RocketMQ之消息存储和查询原理详解,一台Broker服务器只有一个CommitLog文件(组),RocketMQ会将所有主题的消息存储在同一个文件中,这个文件中就存储着一条条Message,每条Message都会按照顺序写入,需要的朋友可以参考下
    2024-01-01
  • Idea工具中使用Mapper对象有红线的解决方法

    Idea工具中使用Mapper对象有红线的解决方法

    mapper对象在service层有红线,项目可以正常使用,想知道为什么会出现这种情,接下来通过本文给大家介绍下Idea工具中使用Mapper对象有红线的问题,需要的朋友可以参考下
    2022-09-09

最新评论