我有以下课程:
public class MyDTO {
@NotEmpty
private String isKiosk;
...
}
并关注网址:
http://localhost:1234/mvc/controllerUrl?isKiosk=false
并遵循控制器方法:
@RequestMapping(method = RequestMethod.GET, produces = APPLICATION_JSON)
@ResponseBody
public ResponseEntity<List<?>> getRequestSupportKludge(@Valid final MyDTO myDTO, BindingResult bindingResult) {
...
}
当我在getRequestSupportKludge方法的调试中停止时,我看到myDTO.isKiosk等于null。
我无法更改请求网址。
在哪里可以为我的请求参数配置映射?
答案 0 :(得分:0)
您需要使用@QueryParam来获取控制器中的值。什么是绑定isKiosk到myDTO?当您请求上述URL时没有任何内容。如果您使用某些视图技术和表单来提交数据,则将表单变量绑定到对象非常重要。
另一种方法是你可以将myDTO公开为ModelAttribute并使用
public xxxx controllerMethod(@ModelAttribute("myDTO") MyDTO myDTO, ...) {}
答案 1 :(得分:0)
在添加以下活页夹后它正在工作:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, "isKiosk", new PropertyEditorSupport() {
public void setAsText(String name) {
setValue(name);
}
});
}