我有用户和帖子。用户可以发表帖子。我正在为帖子创建一个端点。这有道理吗?
/posts - POST, create post
/posts?{uID} - GET, get posts for user
/posts?{pID} - GET, get post by id
/posts/{pID} - PUT, update post by id
这个设计好吗?似乎两个GET请求都太相似了。我应该创建更独特的东西吗?
/posts/users?{uID} - GET, get posts for user
第一个缺点:后端的其他逻辑(如果是其他逻辑,则查看传递了哪个参数) 第二个缺点:其他端点
答案 0 :(得分:0)
我认为您的大多数API设计看起来都不错,但是您应该对其进行一些更改,以遵循通用API设计指南建议的资源导向:
/posts - POST, create post
/posts?userId={uID} - GET, get posts for user
/posts/{pID} - GET, get post by id
/posts/{pID} - PUT, update post by id
如果您想使用嵌套结构而不是查询字符串来获取用户的所有帖子,我建议您执行以下操作,而不要使用/posts/users?{uId}
:
/users/{uId}/posts - GET, get posts for user