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

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

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

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

22174 次点击
所在节点    Java
181 条回复
hiya5
2020-01-03 00:31:31 +08:00
dodo2012
2020-01-03 01:36:33 +08:00
这问题争很久了,反正我是一直 RESTful,
zappos
2020-01-03 01:47:46 +08:00
rest 死全家
binux
2020-01-03 02:34:18 +08:00
这就是为什么在国内「 35 岁以上不要」的原因。
SakuraOjosama
2020-01-03 08:04:19 +08:00
我还见过啥都用 get 的,什么 put?delete?那人完全没听说过的样子
SakuraOjosama
2020-01-03 08:05:35 +08:00
@unco020511 套个 json/狗头
darknoll
2020-01-03 08:34:47 +08:00
@jowan 拦截器统一处理非 200 状态,有啥困难的吗?
infun
2020-01-03 08:37:17 +08:00
听着这么像携程呢
murmur
2020-01-03 08:43:17 +08:00
put 和 delete 除了语法上优雅还有其他意义么?叫 delete /api/user 就比 post /api/delUser 低人一等?
Reficul
2020-01-03 08:45:50 +08:00
又不是不能用.jpg
xuanbg
2020-01-03 08:58:21 +08:00
路径参数能不用还是不要用了,真的不友好。总之,使用什么风格不重要,统一的规范最重要。
nnqijiu
2020-01-03 09:01:54 +08:00
post 还不够你用吗,狗头
linbingcheng
2020-01-03 09:04:14 +08:00
他说的没错呀。put 和 delete 在属于不安全的 http method,在 web 安全开发领域是禁止直接暴露的使用的,连 web 容器都得禁掉支持这种 method 的特性,哪怕你认为这个不会有安全漏洞,但是会导致你的产品在某些安全扫描厂商验收时通不过
salamanderMH
2020-01-03 09:04:16 +08:00
也没啥关系。
xuanbg
2020-01-03 09:06:23 +08:00
@rimutuyuan 有人把 http 当做传输协议

http 本来就是传输协议啊,Hyper Text Transfer Protocol 直译过来就是超文本传输协议,写得明明白白。web 是 web,http 是 http,两者并不相等。
zhjie
2020-01-03 09:08:07 +08:00
楼主是不是用 get post put delete 写了 crud 库啊,所以才这么上火?
wizardoz
2020-01-03 09:19:33 +08:00
@unco020511 elasticsearch 一开始就是用 GET 带 Body 来传查询语言,后来用 Post 也支持了。
sunzongzheng
2020-01-03 09:20:07 +08:00
我司 java 说 get 请求解析参数麻烦,一般一律 post
marcong95
2020-01-03 09:23:58 +08:00
@ArtIsPatrick #74
@Keyes #75 我这是 xjb 写的,JSONRPC、GraphQL 之类的应该比我这东西优雅一点来着
cryingsky
2020-01-03 09:28:18 +08:00
put 和 delete 为什么不安全

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

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

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

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

© 2021 V2EX