我有一个资源,我希望通过一些搜索字词进行过滤,其中有一些我希望以格式发送的属性
?attributeNames[0]=Foo&attributeValues[0]=Bar&attributeValues[0]=Baz
(或在语义上等效 - 每个名称可以映射到一个或多个值)
在Spring REST端点中表示这一点的最佳方法是什么?我尝试过像
这样的方法参数public void endpoint(@RequestParam(...)String[] names, @RequestParam(...)String[][] values) {
}
但这似乎没有按预期工作(我看不到任何正确指定参数名称的方法)。是否可以这样做,或者如果我使用其他机制(例如将参数序列化为JSON对象),它是否会更好地工作?
答案 0 :(得分:1)
从技术上讲,您可以将其实现为一个查询参数,因为之后的所有内容?可以解释为一个参数。
然后,您可以在端点内以编程方式处理它。
但这不是推荐的方式,因为你最终会在URL中暴露很多东西。更好的方法是在请求体中将其作为Mutlipart或Form参数
处理