自定义请求数据转换器convert

配置类

复制代码
@Component
public class MyConfig {

    @Bean
    public WebMvcConfigurer webMvcConfigurer(){
        return new WebMvcConfigurer() {
            @Override
            public void addFormatters(FormatterRegistry registry) {
                registry.addConverter(new Converter<String, User>() {
                    @Override
                    public User convert(String source) {
                        if(StringUtils.hasText(source)){
                            User user = new User();
                 // 页面请求中英文都好连接 String[] strings
= source.split(","); user.setName(strings[0]); user.setAge(Integer.parseInt(strings[1])); return user; } return null; } }); } }; } }
复制代码
Controller
 @ResponseBody
    @PostMapping("/saveInfo")
    public Map<String,Object> saveInfo(Info info){
        Map<String,Object> map = new HashMap<>();
        map.put("info",info);
        return map;
    }
实体
复制代码
@Data
@ToString
public class Info {

    private String userId;
    private String address;
    private String birth;
    private User user;
}
复制代码
@Data
@ToString
public class User {
    private String name;
    private int age;
}
页面请求
<form action="/saveInfo" method="post">
    编号: <input name="userId" value="9587"/> <br/>
    年龄: <input name="address" value="长春"/> <br/>
    生日: <input name="birth" value="2022/7/15"/> <br/>
    姓名年龄: <input name="user" value="张三,1"/>
    <input type="submit" value="保存"/>
</form>

结果输出

请求处理-源码分析

 

posted @   Dabo丶  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示