SpringBoot2---自定义类型转换器

Posted 大忽悠爱忽悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot2---自定义类型转换器相关的知识,希望对你有一定的参考价值。

我们可以给WebDataBinder(数据绑定器)里面放自己的Converter(转换器)

自定义 Converter—对应配置类实现WebMvcConfigurer接口完成对springmvc默认配置的修改

@Configuration//表明这是一个配置类
public class WebConfig implements WebMvcConfigurer
{
            //自定义Stirng--->Pet的类型转换器
            @Override
            public void addFormatters(FormatterRegistry registry) {
                registry.addConverter(new Converter<String,Pet>() {
                    @Override
                    public Pet convert(String source)//这里的source就是对应要String--->Pet的string字符串
                    {
                        // 啊猫,3
                        if(!StringUtils.isEmpty(source)){
                            Pet pet = new Pet();
                            String[] split = source.split(",");
                            pet.setName(split[0]);
                            pet.setAge(Integer.parseInt(split[1]));
                            return pet;
                        }
                        return null;
                    }
                });
            }
};

测试:

@RestController
public class myController
{
    @GetMapping("/hello")
    //通过路径变量,占位符进行相同名字的区分
    public Map boss(Pet pet)
    {
        Map<String,Object> map = new HashMap<>();
        map.put("pet",pet);
        return map;
    }
}

以上是关于SpringBoot2---自定义类型转换器的主要内容,如果未能解决你的问题,请参考以下文章

Logback - 如何编写自定义异常转换器以将堆栈跟踪折叠成一行

springmvc:自定义类型转换器代码编写

自定义类型转换

SpringBoot2.x之WebMvcConfigurer

C#中的类型转换-自定义隐式转换和显式转换

如何应用自定义渐变:类型转换错误