springBoot允许用户自定义转换器,以处理自定义请求参数协议。
方式一:通过实现接口:WebMvcConfigurer 并重写方法的形式。
@Configuration
public class BootConfig implements WebMvcConfigurer {/*** 自定义参数转换*/@Overridepublic void addFormatters(FormatterRegistry registry) {registry.addConverter(new Converter<String, Integer>() {@Overridepublic Integer convert(String source) {return null;}});}}
方式二:向容器中注入bean形式:
@Bean public WebMvcConfigurer webMvcConfigurer() {return new WebMvcConfigurer() {/*** 添加自定义格式化器或转换器** @param registry*/@Overridepublic void addFormatters(FormatterRegistry registry) {//Converter<S, T> S源类型,T目标类型registry.addConverter(new MyConverter());}}; }
Converter 转换器接口:
@FunctionalInterface public interface Converter<S, T> {/*** 自定义转换逻辑,S源参数类型,T目标参数类型*/@NullableT convert(S source);}