我正在使用一个模型来查询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
我做错了什么?
答案 0 :(得分:0)
如果没有迫切需要,您可以摆脱中级Model
类。您只需使用Map
即可映射所有输入请求参数,因为您需要使用spring mvc @RequestParam
批注,例如
public ResponseEntity<List<Object>> view(@RequestParam Map p_request) {
}
,然后您无需发送带引号的http请求,该请求将变为:
http localhost:8080/view\?states=23