Python 官方文档:入门教程 => 点击学习
目录自定义转换器实现参数去空格1.自定义转换器类2.将转换器交给spring容器处理SpringBoot请求参数过滤空格1、参数修改SpacehttpservletRequestWr
实现Converter<S, T>类,重写convert()方法,直接上代码。
public class CustomConverter implements Converter<String, String>{
@Override
public String convert(String source) {
try {
if(source != null){
source = source.trim();
if(!"".equals(source)){
return source;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
@Configuration
public class SpringdataConvert {
@Autowired
private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
@PostConstruct
public void addConversionConfig(){
ConfigurableWEBBindingInitializer initializer = (ConfigurableWebBindingInitializer) requestMappingHandlerAdapter.getWebBindingInitializer();
if(initializer.getConversionService()!=null){
GenericConversionService genericConversionService =(GenericConversionService) initializer.getConversionService();
genericConversionService.addConverter(new CustomConverter());
}
}
}
public class SpaceHttpServletRequestWrapper extends HttpServletRequestWrapper {
public SpaceHttpServletRequestWrapper(HttpServletRequest servletRequest) {
super(servletRequest);
}
@Override
public String[] getParameterValues(String parameter) {
String[] values = super.getParameterValues(parameter);
if (values == null) {
return new String[0];
}
int count = values.length;
String[] encodedValues = new String[count];
for (int i = 0; i < count; i++) {
encodedValues[i] = values[i].trim();
}
return encodedValues;
}
@Override
public String getParameter(String parameter) {
String value = super.getParameter(parameter);
if (value == null) {
return null;
}
return value.trim();
}
}
public class SpaceFilter implements Filter {
private FilterConfig filterConfig;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws
IOException, ServletException {
filterChain.doFilter(new SpaceHttpServletRequestWrapper(
(HttpServletRequest) servletRequest), servletResponse);
}
@Override
public void destroy() {
this.filterConfig = null;
}
}
@Configuration
public class WebmvcConfiguration implements WebMvcConfigurer {
@Bean
public FilterReGIStrationBean spaceFilter() {
FilterRegistrationBean fitler = new FilterRegistrationBean();
fitler.setFilter(new SpaceFilter());
fitler.addUrlPatterns("/*");
fitler.setName("SpaceFilter");
fitler.setDispatcherTypes(DispatcherType.REQUEST);
return fitler;
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 使用Springboot自定义转换器实现参数去空格功能
本文链接: https://www.lsjlt.com/news/132586.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0