所以我想最大分页大小值限制为10(例如值),我可以做到这一点像:添加相同类型的自定义解析器时,默认参数解析器发生了什么?
@Configuration
public class MvcConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
super.addArgumentResolvers(argumentResolvers);
PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
resolver.setMaxPageSize(10);
argumentResolvers.add(resolver);
}
}
和delcare这样
@RequestMapping(name = "list")
public String listUsers(@PageableDefault(size = 5, page = 0) Pageable pageable) {
事实上控制器的方法,这将工作,我无法将页面大小设置为> 10,但我很好奇为什么?春天发生的事情是PageableHandlerMethodArgumentResolver
?为什么考虑这个实例而不是默认实例?毕竟,我不是在这里取代解析器,而只是增加一个新的。
的'HandlerMethodArgumentResolver'返回在'支撑件(MethodParameter)''TRUE'用于解析方法参数。如果添加的内容返回“true”,即使另一个解析器支持它,也使用该属性。必须有别的东西怎么回事,用户添加的解析器可能会被优先春天不再添加其预设的解析器如果同一类型的解析器存在,但与我不知道。每个方法参数只有一个解析器。 –