【发布时间】:2021-04-06 11:22:10
【问题描述】:
我正在尝试将复杂的搜索查询对象传递给 Spring 控制器,而无需进行过多的自定义(如自定义转换器)。
例如,我知道我可以得到这样的参数列表/数组:
GET http://host.com/path?param=abc¶m=123
@GetMapping
String query(String[] param) {
// param[]={abc, 123}
...
}
如果我想要一个对象,我可以这样做:
GET http://host.com/path?field1=abc&field2=123&field3.a=1&field3.b=2
@GetMapping
String query(MyObject obj) {
// MyObject(field1=abc, field2=123, field3=NestedObject(a=1, b=2))
...
}
class MyObject {
String field1, field2;
NestedObject field3;
}
class NestedObject {
int a, b;
}
但我真正需要的是结合两者:
[...]
class MyObject {
String field1, field2;
NestedObject[] field3; <--
}
[...]
如何构造查询参数以正确填充NestedObject 的数组?
【问题讨论】:
标签: java spring-boot spring-mvc controller url-parameters