JsonDeserialize:

1、请求接收的是一个json,并且由对象接收

    @RequestMapping(value = "/query", method = {RequestMethod.POST},consumes = "application/json")
public WebDataListResponse query(@RequestBody(required = true) DataLogQuryEntity dataLogQuryEntity){

2、对象属性的set方法编写注解  

DataLogQuryEntity对象中需要接受Date类型的对象:
public class DataLogQuryEntity  {

@JsonDeserialize(using = DateJsonDeserializer.class)
public void setStartTime(Date startTime) {
this.startTime = startTime;
} }

  注lombok的注意一定要写在setter方法上

3、自定义实现

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.apache.commons.lang3.StringUtils; import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DateJsonDeserializer extends JsonDeserializer<Date> {
public static final SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public Date deserialize(JsonParser jsonParser, DeserializationContext ctxt) throws IOException, JsonProcessingException {
try {
if (jsonParser != null && StringUtils.isNotEmpty(jsonParser.getText())) {
return format.parse(jsonParser.getText());
} else {
return null;
}
} catch (Exception e) {
System.out.println(e.getMessage());
throw new RuntimeException(e);
} }
}

  

JsonSerialize用法:

1、对象的get方法应用注解

@JsonSerialize(using = CustomDateSerializer.class)
public LocalDateTime getUpdateTime() {
return updateTime;
}

2、自定义实现

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException;
import java.time.LocalDateTime; public class CustomDateSerializer extends JsonSerializer<LocalDateTime> {
@Override
public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException {
gen.writeString(value.toString());
}
}

  

springboot @RequestBody使用JsonSerialize与 JsonDeserialize自定义转参数,处理Date日期格式的更多相关文章

  1. SpringBoot学习笔记(4):与前端交互的日期格式

    SpringBoot学习笔记(4):与前端交互的日期格式 后端模型Date字段解析String 我们从前端传回来表单的数据,当涉及时间.日期等值时,后端的模型需将其转换为对应的Date类型等. 我们可 ...

  2. spring自定义参数绑定(日期格式转换)

    spring参数绑定时可能出现 BindException(参数绑定异常),类似下面的日期绑定异常(前台传过来是String类型,实际的pojo是Date类型) default message [Fa ...

  3. 自定义类型转换器---转Date类型

    在使用springMVC过程中 ,假如页面使用了 <form action="${pageContext.request.contextPath}/user/testDate" ...

  4. Springboot学习06-Spring AOP封装接口自定义校验

    Springboot学习06-Spring AOP封装接口自定义校验 关键字 BindingResult.Spring AOP.自定义注解.自定义异常处理.ConstraintValidator 前言 ...

  5. Springboot 项目启动后执行某些自定义代码

    Springboot 项目启动后执行某些自定义代码 Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRun ...

  6. 自定义spring参数注解 - 打破@RequestBody单体限制

    本文主要描述怎样自定义类似@RequestBody这样的参数注解来打破@RequestBody的单体限制. 目录1 @RequestBody的单体限制2 自定义spring的参数注解3 编写sprin ...

  7. SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver

    关于Web应用的全局异常处理,上一篇介绍了ControllerAdvice结合@ExceptionHandler的方式来实现web应用的全局异常管理: 本篇博文则带来另外一种并不常见的使用方式,通过实 ...

  8. 【SpringBoot 基础系列】实现一个自定义配置加载器(应用篇)

    [SpringBoot 基础系列]实现一个自定义配置加载器(应用篇) Spring 中提供了@Value注解,用来绑定配置,可以实现从配置文件中,读取对应的配置并赋值给成员变量:某些时候,我们的配置可 ...

  9. SpringBoot自定义请求参数转换器

    需求 我们可能对接客户的系统的时候,虽然Spring为我们提供的很多方便的转换器,但是遇到还是可能遇到需要自定义请求参数转换器的情况. 日期转换器 SpringBoot默认是没有配置日期转换器的我们可 ...

随机推荐

  1. SSH 远程登陆

    2019-03-10 20:41:39 一.什么是SSH 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...

  2. springboot启动配置原理之三(事件监听机制)

    ApplicationContextInitializer public class HelloApplicationContextInitializer implements Application ...

  3. day050 前端Jquery库的使用

    一.导入jquery文件 <script src=" jquery库文件"></script> 二.选择标签 >>概念明晰: $是jQuery类 ...

  4. centos重置密码

    重置root密码:   法一:                1.开机按e                2.将linux 16后的ro改为rw init=/sysroot/bin/          ...

  5. 内存泄漏 tensorflow

    http://blog.csdn.net/qq_25737169/article/details/78125550

  6. java 打包 war包

    接下来,执行jar命令,格式为: jar cvf cmd.war . 打包文件名称 要打包的目录 打包文件保存路径 解压: jar xvf cmd.war

  7. AndroidStudio连不上Android设备真机

    AndroidStudio连不上Android设备真机 刚好遇到这个问题,查阅了很多资料,看到有人分享了引起该问题的几个原因,我总结了一下: 1.手机设置问题.开USB调试 方法:手机设置-开发人员调 ...

  8. L337 Should We Relax About Screen Time?

    The UK government's plans for regulation of the internet and social media contained a long list of o ...

  9. C语言里有没有像C++里面的sort函数一样的函数?有!

    C 库函数 - qsort() 描述 C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void ...

  10. 使用Java API方式连接HDFS Client测试

    IDEA中新建Maven工程,添加POM依赖, 在IDE的提示中, 点击 Import Changes 等待自动下载完成相关的依赖包. <?xml version="1.0" ...