同事说:后台接口不能使用除 post/get 之外的方法,path 里不能带参数

2020-01-02 16:42:17 +08:00
 unco020511

我写了接口文档,尽量按照 RESTful 风格写的,然后前端+部分后台同事说不能用 put 和 delete,还有 path 里不能带参数; 我问为啥,他说这样不规范 我该如何说服同事?

获取对应学期下评语:[get] /back/remark/{termId} 删除数据:[delete] /back/record/{recordId}

22168 次点击
所在节点    Java
181 条回复
killergun
2020-01-02 16:44:45 +08:00
听老大的
luckyrayyy
2020-01-02 16:45:46 +08:00
少数服从多数,费这个劲干啥。
jowan
2020-01-02 16:45:47 +08:00
并不一定非要 REST 虽然我司用的是 :)狗头
前端抱怨大概是因为非 200 状态 比如 422 419 404 要捕捉异常处理 哈哈
unco020511
2020-01-02 16:46:50 +08:00
地址:某二线不大不小的厂
lazyfighter
2020-01-02 16:47:31 +08:00
老子就这么写,爱用不用
learnshare
2020-01-02 16:48:21 +08:00
六字送上,该忍就忍了,不专业才是正常的
Cyron
2020-01-02 16:48:35 +08:00
谁说了算听谁的
Leonard
2020-01-02 16:49:22 +08:00
我还见过后台全用 post 的,get 都不用
ysyk
2020-01-02 16:49:23 +08:00
很正常,我们这边,前端说如果只用 post 是最好的
lihongjie0209
2020-01-02 16:49:57 +08:00
没什么问题, 统一就好
MatthewHan
2020-01-02 16:50:07 +08:00
拿阿里、百度等等的一些接口文档给他们看
mcfog
2020-01-02 16:52:27 +08:00
V 站著名月经贴,楼主你这样写火不起来(滑稽

搜索 site:v2ex.com restful 了解更多
est
2020-01-02 16:52:30 +08:00
path 里不带参数 一时爽。。

nginx 日志分析火葬场。。。。
marcong95
2020-01-02 16:53:20 +08:00
那你就直接给它来个

POST /api
{"method": "get", "type": "remark", "termId": "{termId}"}

POST /api
{"method": "delete", "type": "record", "id": "{recordId}"}
unco020511
2020-01-02 16:53:23 +08:00
怎么写其实无所谓,但是说不规范我就不乐意了,且一副你不懂的表情
yidinghe
2020-01-02 16:54:03 +08:00
但是 GET 里面传 BODY 也不合适
unco020511
2020-01-02 16:55:32 +08:00
@marcong95 楼主原来做移动端的时候还真见过这种,全部都是一个 url,然后参数 method 来区分具体业务
a719114136
2020-01-02 16:55:59 +08:00
就一个规范,用什么都行。 之前有规范了就按照之前的。

选择规范的标准就是简单,说实话我也不喜欢 RESTful 那套,直接 post/get 就够用了 ,弄一堆 method 那么复杂。

另外 path 里带参数,这种 url 确实便于理解,我以前也挺喜欢这种风格的。但对后端来说,有的框架不能匹配这种 url ;对于前端来说,不利于代码结构化。所以现在也放弃了 path 里带参数
unco020511
2020-01-02 16:56:12 +08:00
@yidinghe get 里传 body?咋传
gwybiaim
2020-01-02 16:56:33 +08:00
REST 很重要的一条是面向资源,你可以按照常见的 rest 风格来,也可以设计自己的 rest 规范

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

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

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

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

© 2021 V2EX