我有这样的方法:Spring MVC的@RequestParam默认值没有解决
@GetMapping(value = "warehouses/{warehouseId}/issues", headers = BOOTGRID_REQUEST)
public ResponseEntity<BootgridResponse<T>> listWarehouseIssues(
@PathVariable final long warehouseId,
@RequestParam(required = false, defaultValue = ISSUE_STATE_ALL) final String state,
@Valid @ModelAttribute final BootgridRequest request,
final BindingResult bindingResult
)
在所有情况下,伟大的工作,直到我注册了一个新的过滤器,它包装要求成的包装。
@Bean
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(crossScriptingFilter());
registration.addUrlPatterns("/*");
registration.setName("XFilter");
registration.setOrder(1);
return registration;
}
@Bean
public Filter crossScriptingFilter() {
return new CrossScriptingFilter();
}
因为参数“state”在请求参数中没有指定时给出null。
当我删除过滤器注册时,我得到默认值而不是null。
我错过了一个这里,我不明白为什么默认值不会给出?
我会试一试,但我虽然如果没有指定,它采用了变量的名称? –
在这种情况下没有改变任何东西。 –