需求

我们可能对接客户的系统的时候,虽然Spring为我们提供的很多方便的转换器,但是遇到还是可能遇到需要自定义请求参数转换器的情况。

日期转换器

SpringBoot默认是没有配置日期转换器的我们可以自己写,也可以使用配置让SpringBoot来生成:https://www.jianshu.com/p/4b29beffcd8e

日期转换器配置代码:

package com.wzq.config.converter;

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /**
* @description: 字符串转换为DateConverter
* @author: Wzq
* @create: 2020-01-17 16:33
*/
@Component
public class StringToDateConverter implements Converter<String, Date> { private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); @Override
public Date convert(String s) {
Date parse = null;
try {
parse = simpleDateFormat.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return parse;
}
}

自定义转换器

package com.wzq.config.converter;

import com.wzq.test.model.UserModel;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component; /**
* @description: 字符串转UserModel类
* @author: Wzq
* @create: 2020-01-17 16:24
*/
@Component
public class StringToUserModelConverter implements Converter<String, UserModel>{ @Override
public UserModel convert(String s) {
String[] split = s.split("-");
String userName = split[0];
Integer age = Integer.parseInt(split[1]);
UserModel userModel = new UserModel();
userModel.setUserName(userName);
userModel.setAge(age);
return userModel;
}
}

UserModel实体类

package com.wzq.test.model;

import lombok.Data;

import java.util.Date;

/**
* @description:
* @author: Wzq
* @create: 2020-01-17 15:17
*/
@Data
public class UserModel {
private String userName;
private Integer age;
private Date date;
}

请求地址

http://192.168.0.115:8080/myproject/test/noAnnotationsMethod?userName=GosingWu&age=18&date=2012-12-12

成功:

SpringBoot自定义请求参数转换器的更多相关文章

  1. SpringBoot配置自定义日期参数转换器

    1.自定义参数转换器 自定义参数转换器必须实现Converter接口 /** * Created by IntelliJ IDEA. * * @Auther: ShaoHsiung * @Date: ...

  2. SpringBoot中请求参数 @MatrixVariable 矩阵变量

    一.矩阵变量请求格式 /users;id=1,uname=jack 二.SpringBoot开启矩阵请求 首先查看springboot源码关于矩阵部分的内容 在 WebMvcAutoConfigura ...

  3. 使用Typescript重构axios(二十八)——自定义序列化请求参数

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  4. Spring MVC请求参数绑定 自定义类型转化 和获取原声带额servlet request response信息

    首先还在我们的框架的基础上建立文件 在domian下建立Account实体类 import org.springframework.stereotype.Controller; import org. ...

  5. SpringBoot 拦截器获取http请求参数

    SpringBoot 拦截器获取http请求参数-- 所有骚操作基础 目录 SpringBoot 拦截器获取http请求参数-- 所有骚操作基础 获取http请求参数是一种刚需 定义拦截器获取请求 为 ...

  6. SpringBoot自定义参数验证器

    前要 之前我们介绍了JSR-303验证方式,十分的方便Spring都帮我们封装好了,但是对一些复杂的验证,还是需要更加灵活的验证器的. JSR-303验证器传送门:https://www.jiansh ...

  7. SpringMvc的自动装箱和GET请求参数可以为自定义对象的思考

    在我的概念里边,GET请求需要加上注解@RequestParam,然后它的参数类型只能是 基本数据类型 或者 基本数据类型的包装类,比如:@RequestParam String name(默认是必传 ...

  8. SpringBoot自定义错误信息,SpringBoot适配Ajax请求

    SpringBoot自定义错误信息,SpringBoot自定义异常处理类, SpringBoot异常结果处理适配页面及Ajax请求, SpringBoot适配Ajax请求 ============== ...

  9. springboot(服务端接口)获取URL请求参数的几种方法

    原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html 一.下面为7种服务端获取前端传过来的参数的方法  常用的方法为:@RequestParam和@Req ...

随机推荐

  1. [NOI2009] 诗人小G [题解]

    诗人小G 题目大意 给出 \(n\) 个长度不超过 \(30\) 的句子,要求你对其进行排版. 对于每一行,有一个规定的行标准长度 \(L\) ,每一行的不协调度等于该行的实际长度与行标准长度差的绝对 ...

  2. Vue权限路由实现总结

    前言 年前完工了做了半年的铁路后台管理系统,系统整体业务比较复杂,这也是我到公司从 0 到 1 的 一个完整系统实践,做这个系统过程中踩了不少坑,也学到了很多. 做完这个系统没多久,紧接着又一个系统来 ...

  3. Spring RestTemplate 之get请求

    一,简介:Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写 ...

  4. 深入理解javascript按值传递与按引用传递

    https://segmentfault.com/a/1190000012829900

  5. 详述 IntelliJ IDEA 远程调试 Tomcat 的方法

    首先,配置remote: 如上图所示,点击Edit Configurations,进入如下界面: 如上图所示,我们进入了Run/Debug Configurations界面,然后点击左上角的+,选择R ...

  6. Unittest方法 -- 测试套件

    TestSuite 测试固件 一. import unittestclass F6(unittest.TestCase): def setUp(self): pass def tearDown(sel ...

  7. debug:am、cmd命令源码分析

    debug:am.cmd命令源码分析 目录 debug:am.cmd命令源码分析 am命令的实现 手机里的am am.jar cmd命令的实现 手机里的cmd cmd activity cmd.cpp ...

  8. 2个Double字符串进行

    public static int compare(double d1, double d2) { if (d1 < d2) return -1; // Neither val is NaN, ...

  9. Vue框架主要内容学习总结

    Vue框架体系主要内容: 1. vue核心语法和用法: 2. vue-router--路由.路由相当于访问路径,将访问路径与vue组件映射起来.传统方式常采用超链接实现路径或页面之间的切换, 而在vu ...

  10. python读取数据写入excel

    '''写入excel文件''' import xlsxwriter # todo 创建excel文件 xl = xlsxwriter.Workbook(r'D:\testfile\test.xlsx' ...