Spring Boot 自定参数解析器HandlerMethodArgumentResolver

  • 1.自定义解析器需要实现HandlerMethodArgumentResolver接口
@Service
public class UserArgumentResolver implements HandlerMethodArgumentResolver {

	@Autowired
	MiaoshaUserService userService;
	
	public boolean supportsParameter(MethodParameter parameter) {
	//进行判断处理
        return true;
	}

	public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
			NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
        //处理参数操作
	}

}
  • supportsParameter:用于判定是否需要处理该参数分解,返回true为需要,并会去调用下面的方法resolveArgument。

  • resolveArgument:真正用于处理参数分解的方法,返回的Object就是controller方法上的形参对象。

  • 2.注册自定义参数解析器

@Configuration
public class WebConfig  extends WebMvcConfigurerAdapter{
	
	@Autowired
	UserArgumentResolver userArgumentResolver;
	
	@Override
	public void addArgumentResolvers(List argumentResolvers) {
		argumentResolvers.add(userArgumentResolver);
	}

}

你可能感兴趣的:(Spring,Boot,Spring,Boot自定义参数,Spring,boot参数解析器,Spring,Boot)