Java 映射为Spring Boot中查询参数的值

Java 映射为Spring Boot中查询参数的值,java,spring,spring-boot,http,Java,Spring,Spring Boot,Http,我正在使用GET调用的查询参数模型 public class Model{ private Map<String, Object> myField; public Map<String, Object> getMyField(){ return this.myfield; } public void setMyField(Map<String, Object> myField){

我正在使用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;
      }
}
公共类模型{
私有地图myField;
公共映射getMyField(){
返回此.myfield;
}
公共void setMyField(映射myField){
this.myField=myField;
}
}
我的控制器是:

@RequestMapping(value="/view",method= RequestMethod.GET,produces={"application/json"})
@ResponseBody
public ResponseEntity<List<ViewResponse>> view(Model p_request) {}
@RequestMapping(value=“/view”,method=RequestMethod.GET,products={“application/json”})
@应答器
公共响应性视图(模型p_请求){}
这是我正在点击的请求
http://localhost:8080/view?myField={“州”:“23”}
。我收到了错误的400个错误请求,而且

java.lang.IllegalArgumentException:在中找到无效字符 请求目标。有效字符在RFC 7230和RFC中定义 3986


我做错了什么

如果不迫切需要中级
Model
类,您可以将其去掉。您可以简单地使用
Map
来映射所有输入请求参数,为此您需要使用spring mvc
@RequestParam
注释,如

public ResponseEntity<List<Object>> view(@RequestParam Map p_request) {
}
public ResponseEntity视图(@RequestParam-Map p\u-request){
}
然后您不需要发送引用的http请求,请求将变成:
httplocalhost:8080/view\?states=23

如果不迫切需要中间
模型
类,您可以将其去掉。您可以简单地使用
Map
来映射所有输入请求参数,为此您需要使用spring mvc
@RequestParam
注释,如

public ResponseEntity<List<Object>> view(@RequestParam Map p_request) {
}
public ResponseEntity视图(@RequestParam-Map p\u-request){
}
然后您不需要发送引用的http请求,请求将变成:
httplocalhost:8080/view\?states=23

所以我基本上需要一个filters类型的查询参数,在这里我可以在很多事情上应用过滤器。例如:filters={“states”:[active,inactive],“name”:[“ABXC”,“PQR”]}来解释为什么模型实际上还有其他查询参数。这是一个查询参数,其键是
myField
,但值本身是一个mapok@sagarr,您也可以用于以下问题:public ResponseEntity视图(@RequestParam-Map p_-request){}:)任何特定的需要,您只需要将其作为json传递,我的意思是您可以使用逗号分隔的req参数,如
states=a,b&name=x,y
所以我基本上需要一个filters类型的查询参数,在这里我可以对很多事情应用过滤器。例如:filters={“states”:[active,inactive],“name”:[“ABXC”,“PQR”]}来解释为什么模型实际上还有其他查询参数。这是一个查询参数,其键是
myField
,但值本身是一个mapok@sagarr,您也可以用于以下问题:public ResponseEntity视图(@RequestParam-Map p_-request){}:)任何特定的需要,您只需要将其作为json传递,我的意思是您可以使用逗号分隔的req参数,如
states=a,b&name=x,y
将对象作为查询参数传递,然后在控制器中解析该对象。将对象作为查询参数传递,然后在控制器中解析该对象。