【发布时间】:2017-11-20 19:37:20
【问题描述】:
我在 Spring 中设置了一个 API,客户端可以在其中指定他们想要接收的对象的 id。它返回对象的 JSON 列表(使用 @ResponseBody 注释)。
但是,由于请求可能是一个很长的列表,我将其设置为 POST,它作为名为 ProductRequest 的对象接收(使用 @RequestBody 注释)。这似乎不符合官方的 REST API 标准,因为帖子是创建新对象的官方标准,但是以这种方式实现它似乎更好,因为您不会用一堆 id 混淆 URL。此外,我可以指定自定义输出的其他参数。
所以我的问题是,这可以被认为是一个有效的 RESTful 设计吗? Post 不是用来创建对象的,所以它并不严格符合 restful。想法?
【问题讨论】:
-
“官方 REST API 标准”是什么意思?
-
如果可能,您可以指定自己的 HTTP 动词,例如列表。但这并不总是最好的选择。找到了一个简短的讨论here
标签: json spring http post restful-url