我在 Spring 中设置了一个 API,客户端可以在其中指定他们想要接收的对象的 ID。它返回对象的 JSON 列表(使用 @ResponseBody
注释)。
但是,由于请求可能是一个很长的列表,我将其设置为一个 POST,它作为一个名为 ProductRequest
的对象接收(使用 @RequestBody
注释)。这似乎不符合官方 REST API 标准,因为帖子是官方创建新对象的,但以这种方式实现它似乎更好,因为您不会用一堆 ID 弄乱 URL。此外,我可以指定其他参数来自定义输出。
所以我的问题是,这可以被视为有效的 RESTful 设计吗? Post 不用于创建对象,因此它不严格符合 restful。想法?
最佳答案
这是一个简单的 GET 请求。
@GetMapping(path = "/your-url")
public List<Object> method(@RequestParam(name="ids") List<Long> objectIds) {
}
您可以像简单的 java 列表一样接收您的列表。
/api?ids=1,2,3
关于json - Restful API - 获取、放置、发布、删除需要多近?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399754/