开发 API 的时候 http method 应该使用 PUT、PATCH、DELETE 等协议还得直接用 GET、POST

43 天前
 Inzufu
如题,
感觉前三者好像更规范些,不过好像很少见有用除 GET 和 POST 外协议的接口。
8123 次点击
所在节点    程序员
142 条回复
seers
43 天前
我只说一点,大部分漏扫等保公司只会允许 GET/POST ,然后客户只会让你整改,当然自己玩随便
cxsz
43 天前
我自己写的基本都是 get ,用起来方便,浏览器输入一下就行,公司规定是统一 post
flyqie
43 天前
每隔一段时间就会出现这样的讨论,建议先左上搜索一下

看个人喜好和环境要求,我个人是 200 + post ,http_code != 200 问题肯定都是基础设施,跟我没关系。。
0o0O0o0O0o
43 天前
你可以看看他们争得有多激烈:

/t/860356
/t/830030
/t/693907
/t/959602
/t/340607

与之齐名的还有 https://www.v2ex.com/t/1023997#r_14451382
drymonfidelia
43 天前
@flyqie
@0o0O0o0O0o 还有这个 /t/899875
OutOfMemoryError
43 天前
@seers #1 +1 我们之前遇到一个“安全检测”就是这种要求,只好做了个变通方案,前端传 Header 到 nginx ,然后 nginx 处理一下发到后端
Inzufu
43 天前
@flyqie 我一般也是 POST 用的多一些,状态码就是
200 、401 、403 、404 ,其他的状态码还真没用过。
Inzufu
43 天前
@cxsz GET 请求一般直接把参数放在 url 里,个人总感觉不是很安全。
Inzufu
43 天前
@seers @OutOfMemoryError 那看来还是用 GET POST 比较好,我个人感觉 PUT 、PATCH 、DELETE 这三个 methods 其实完全可以用 POST 代替。
infun
43 天前
臆想的规范,现实世界比臆想世界复杂的多,抽象出来的方法很多时候都是脱裤子放屁
个人支持 get post 全包
winterpotato
43 天前
🤣我们公司就不一样了,我们公司全部 get 数据通过 headers 发🤡

(开个玩笑)
当然遵循 restful 语义了
securityCoding
43 天前
谁用 restful 我会暗自骂他傻 233
agagega
43 天前
即使环境不能使用 PUT/PATCH/DELETE ,用 POST 模拟也是好的,或者就用 POST 表达发起某个事务的含义也完全没问题。怕的就是一股脑全用 GET ,创建订单也来个 GET ,这就无可救药了。
luodan
43 天前
小白请教那些全用 GET 的同学一个问题,用 GET 不是大家都看得一清二楚了吗?
Kumo31
43 天前
都用,RESTful API ,当然 RESTful API 的表达能力有缺陷,难以满足复杂业务场景,还需要结合 Google 的 Custom methods: https://google.aip.dev/136
icy37785
43 天前
虽然别人问我接口怎么定义,我推荐 RESTful ,自己的项目只用 get 、post ,甚至看到 restful 还会发笑。
siweipancc
43 天前
理论中:新建记录 post 返回 201 重定向到数据。
实际操作:返回 200 加个 ok 状态码。
问就是流程越简单 bug 越少。
leo72638
43 天前
@luodan #14 要安全肯定要 https 。你只用 http 的话,用什么请求方式没本质区别,懂拦截请求的人不会不懂看 body 里的数据
raycool
43 天前
post 一把梭吧
zeromake
43 天前
我之前也想各种 put ,delete 用起来,然后客户端一对接说客户端框架封死了只能用 get ,post😂

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

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

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

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

© 2021 V2EX