Java 在Spring控制器中传递嵌套的对象数组作为URL参数

Java 在Spring控制器中传递嵌套的对象数组作为URL参数,java,spring-boot,spring-mvc,controller,url-parameters,Java,Spring Boot,Spring Mvc,Controller,Url Parameters,我试图将一个复杂的搜索查询对象传递给Spring控制器,而不进行太多定制(如定制转换器) 例如,我知道我可以得到如下参数列表/数组: GEThttp://host.com/path?param=abc¶m=123 @GetMapping 字符串查询(字符串[]参数){ //param[]={abc,123} ... } 如果我想要一个对象,我可以这样做: GEThttp://host.com/path?field1=abc&field2=123&field3.a=1&field3.b

我试图将一个复杂的搜索查询对象传递给Spring控制器,而不进行太多定制(如定制转换器)

例如,我知道我可以得到如下参数列表/数组:

GEThttp://host.com/path?param=abc¶m=123
@GetMapping
字符串查询(字符串[]参数){
//param[]={abc,123}
...
}
如果我想要一个对象,我可以这样做:

GEThttp://host.com/path?field1=abc&field2=123&field3.a=1&field3.b=2
@GetMapping
字符串查询(MyObject对象){
//MyObject(field1=abc,field2=123,field3=NestedObject(a=1,b=2))
...
}
类MyObject{
字符串字段1,字段2;
嵌套对象字段3;
}
类嵌套对象{
INTA,b;
}
但我真正需要的是将两者结合起来:

[…]
类MyObject{
字符串字段1,字段2;

NestedObject[]field3;我认为对于复杂的搜索查询,最好使用JSON和post。 也许像这样

@RequestMapping(value = "/greeting", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
@ResponseBody
public String greetingJson(HttpEntity<String> httpEntity) {
    String json = httpEntity.getBody();
    // json contains the plain json string
@RequestMapping(value=“/greeting”,method=POST,consumes=APPLICATION\u JSON\u value,products=APPLICATION\u JSON\u value)
@应答器
公共字符串greetingJson(HttpEntity HttpEntity){
字符串json=httpEntity.getBody();
//json包含纯json字符串
请参见