SpringBoot中自定义参数绑定
本文是vhr系列的第十篇,vhr项目地址https://github.com/lenve/vhr
正常情况下,前端传递来的参数都能直接被SpringMVC接收,但是也会遇到一些特殊情况,比如Date对象,当我的前端传来的一个日期时,就需要服务端自定义参数绑定,将前端的日期进行转换。自定义参数绑定也很简单,分两个步骤:
1.自定义参数转换器
自定义参数转换器实现Converter接口,如下:
public class DateConverter implements Converter<String,Date> {
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Date convert(String s) {
if ("".equals(s) || s == null) {
return null;
}
try {
return simpleDateFormat.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
convert方法接收一个字符串参数,这个参数就是前端传来的日期字符串,这个字符串满足yyyy-MM-dd格式,然后通过SimpleDateFormat将这个字符串转为一个Date对象返回即可。
2.配置转换器
自定义WebMvcConfig继承WebMvcConfigurerAdapter,在addFormatters方法中进行配置:
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new DateConverter());
}
}
OK,如上两步之后,我们就可以在服务端接收一个前端传来的字符串日期并将之转为Java中的Date对象了,前端日期控件如下:
<el-date-picker
v-model="emp.birthday"
size="mini"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 150px"
type="date"
placeholder="出生日期">
</el-date-picker>
服务端接口如下:
@RequestMapping(value = "/emp", method = RequestMethod.POST)
public RespBean addEmp(Employee employee) {
if (empService.addEmp(employee) == 1) {
return new RespBean("success", "添加成功!");
}
return new RespBean("error", "添加失败!");
}
其中Employee中有一个名为birthday的属性,该属性的数据类型是一个Date,源码我就不贴了,小伙伴直接在本项目源码中查看即可。
本系列其他文章:
1.SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)
2.SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(二)
3.SpringSecurity中密码加盐与SpringBoot中异常统一处理
4.axios请求封装和异常统一处理
5.权限管理模块中动态加载Vue组件
6.SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(六)
7.vhr部门管理数据库设计与编程
8.使用MyBatis轻松实现递归查询与存储过程调用
9.ElementUI中tree控件踩坑记
关注公众号,可以及时接收到最新文章:
- SpringBoot中自定义参数绑定步骤详解
- SpringBoot下自定义参数绑定步骤解析
- SpringBoot中自定义参数绑定
- 使用SpringBoot通过自定义注解+AOP+全局异常处理实现参数统一非空校验
- 使用SpringBoot的Actuator实现带参数的自定义Endpoint
- [转载]SpringBoot系列: SpringMVC 参数绑定注解解析
- spring 3.2 自定义参数绑定--日期格式转换器
- 兼容 Spring Boot 1.x 和 2.x 配置类参数绑定的工具类 SpringBootBindUtil
- spring boot 自定义请求参数解析注解
- 用AOP拦截自定义注解并获取注解属性与上下文参数(基于Springboot框架)
- Spring Boot 获取自定义参数
- Spring Boot Web项目之参数绑定
- 详解Spring Boot Web项目之参数绑定
- SpringBoot自定义请求参数注解
- SpringBoot Web项目的参数绑定:URL传参及默认参数设置
- springboot @RequestBody使用JsonSerialize与 JsonDeserialize自定义转参数,处理Date日期格式
- Spring boot 自定义注解 简单版本解析参数
- SpringBoot之配置文件及自定义参数
- 关于SpringBoot自定义注解(解决post接收String参数 null(前台传递json格式))
- Spring Boot2.0之自定义参数