所以我想最大分頁大小值限制爲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」,即使另一個解析器支持它,也使用該屬性。必須有別的東西怎麼回事,用戶添加的解析器可能會被優先春天不再添加其預設的解析器如果同一類型的解析器存在,但與我不知道。每個方法參數只有一個解析器。 –