[英]Map as a value for Query Param in Spring Boot
我正在为GET调用的查询参数使用模型。
public class Model{
private Map<String, Object> myField;
public Map<String, Object> getMyField(){
return this.myfield;
}
public void setMyField(Map<String, Object> myField){
this.myField = myField;
}
}
我的控制器是:
@RequestMapping(value="/view",method= RequestMethod.GET,produces={"application/json"})
@ResponseBody
public ResponseEntity<List<ViewResponse>> view(Model p_request) {}
这是我点击http://localhost:8080/view?myField={"states":"23"}
的请求。 我得到400错误的错误请求,并且
java.lang.IllegalArgumentException:在请求目标中找到无效字符。 有效字符在RFC 7230和RFC 3986中定义
我做错了什么?
如果没有紧迫的需求,您可以摆脱中间的Model
类。 您可以简单地使用Map
来映射所有输入请求参数,为此您需要使用spring mvc @RequestParam
批注,例如
public ResponseEntity<List<Object>> view(@RequestParam Map p_request) {
}
然后您无需发送带引号的http请求,该请求将变为: http localhost:8080/view\\?states=23
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.