请教一下 api 命名的问题

2019-01-31 12:53:15 +08:00
 stillsilly
评论文章接口
叫 /api/comment/create 参数 articleId,content
还是 /api/article/comment 参数 id,content
哪个好? 或者两个都不好,有什么其他更好的写法吗?

还有获取文章的评论列表
/api/comment/getList 参数 articleId
/api/article/comments 参数 id


似乎没有什么书专门说 api 命名的事,有什么质量高点的博客之类的资料可以看看吗

------------------更新一下-------------------
刚刚在淘宝看到两本书《 Web API 的设计与开发》《 RESTful Web APIs 》,有看过这两本书的吗 感觉咋样?
还有其他什么书可以推荐一下吗?
1369 次点击
所在节点    问与答
9 条回复
DavidNineRoc
2019-01-31 13:02:31 +08:00
多看一下 RESTFul 的文章,
文章的评论结构,既然是该文章下的,那么就应该从 url 中看的出来
如:
/api/v1/articles/{article}/comments => post: 新建 get: 获取列表
/api/v1/articles/{article}/comments/{comment} => delete: 删除评论
GDC
2019-01-31 13:11:09 +08:00
个人觉得 RESTful 挺恶心的,把很多问题搞复杂了。而且 RESTful 只是一种推荐风格,也不是什么标准。
luotian
2019-01-31 13:14:40 +08:00
stillsilly
2019-01-31 13:17:14 +08:00
@DavidNineRoc 谢谢
我不想用 method 表示操作类型咋么办
不知道为什么,我们公司所有人所有项目,全部统一用的 post,我也被他们传染了,感觉这样还挺方便 前后端沟通接口从来不说请求类型,也不会因为不小心弄错类型拿不到数据……
这样做有什么不好的地方吗……
jonahtan
2019-01-31 13:27:46 +08:00
/api/v1.0/articles/comments/{id}/{do}

/api/版本号 /业务域 /服务 /编号索引 /操作项
namesc
2019-01-31 13:29:29 +08:00
我觉得 RESTful API 挺繁琐的,不喜欢,它是一种公开约定,其实就是建议。

不一定要用这个,使用这个规范的不多,阿里云腾讯云那些有海量 API 的产品也没用这个规范。
stillsilly
2019-01-31 13:32:09 +08:00
lynskylate
2019-01-31 13:34:00 +08:00
对于文章这种资源 restful 是非常合适的
wc951
2019-01-31 19:26:42 +08:00
你可以看下 github 的 api 是怎么设计的,那个是很标准的 restful 风格,而且是使用了成熟度最高的 HATEOAS 模型

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/532128

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX