做网站用平板吗,百度广告优化,网站开发需要提供哪些东西,网站建设流程详解addArgumentResolvers 在SpringMVC框架中#xff0c;主要用于向Spring容器注册自定义的参数解析器。在处理HTTP请求时#xff0c;SpringMVC会使用这些参数解析器将请求中的数据#xff08;如查询参数、路径变量、表单数据等#xff09;转换并注入到控制器方法的参数中。
使… addArgumentResolvers 在SpringMVC框架中主要用于向Spring容器注册自定义的参数解析器。在处理HTTP请求时SpringMVC会使用这些参数解析器将请求中的数据如查询参数、路径变量、表单数据等转换并注入到控制器方法的参数中。
使用样例
第1步自定义的Date参数解析器
public class CustomDateArgumentResolver implements HandlerMethodArgumentResolver {private static final String[] format {yyyy-MM-dd};Overridepublic boolean supportsParameter(MethodParameter parameter) {// 获取传入参数的类型Class? type parameter.getParameterType();// 如果参数类型有为Student类的则符合,进入resolveArgument方法return Date.class type;}Overridepublic Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {// 从请求中获取日期字符串并转换为Date对象return DateUtils.parseDate(webRequest.getParameter(date), format);}
}第2步向Spring容器注册自定义的参数解析器
Configuration
public class WebMvcConfig implements WebMvcConfigurer {/*** 向SpringMVC框架中添加自定义参数解析器** param argumentResolvers SpringMVC已有的参数解析器列表用于处理控制器方法的参数解析工作*/Overridepublic void addArgumentResolvers(ListHandlerMethodArgumentResolver argumentResolvers) {// 添加一个自定义解析器它能将请求中的字符串参数转换为Date类型// 例如假设前端传递的是2022-12-31这样的日期字符串通过此解析器可直接注入到控制器方法的Date类型参数中。argumentResolvers.add(new CustomDateArgumentResolver());}
}第3步使用
Controller
public class CustomArgumentResolverController {GetMapping(/customDateArgumentResolver)public String handleDate(Date date,Date date3) {// 此处的date参数会由CustomDateArgumentResolver解析注入System.out.println(date);return success;}
}遗留问题
http://localhost:8080/customDateArgumentResolver?date2024-01-14date22024-01-13 这种多参数解析没玩明白
参考
WebMvcConfigurer中addArgumentResolvers方法的使用