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

2024-03-25 21:51:21 +08:00
 Inzufu
如题,
感觉前三者好像更规范些,不过好像很少见有用除 GET 和 POST 外协议的接口。
15785 次点击
所在节点    程序员
142 条回复
maymay5
2024-03-26 01:10:38 +08:00
post 走全部
lujiaxing
2024-03-26 01:10:55 +08:00
视情况.
如果是系统内互相调用, 一般就是 get/post. 没啥必要搞什么 put delete...
如果是开放 API, 而且本身也比较简单 (例如只是开放个 WEB 接口给三方读写数据之类的), 可以用 RESTful API.

我个人是不喜欢 RESTful 这个风格的. 太简陋了, 对于一些复杂的业务接口来说, 要么把 URL 搞得极其抽象
(如: /api/v3/userrelationshipinorganization/7333/8964) 要么把接口拆散拆得跟被爆破了一样, 然后让前端做整合层.

无论哪种其实都很恶心.
IdJoel
2024-03-26 01:14:00 +08:00
DELETE PUT 多好用,要不 URL 整那老长多难受
对接的开发一眼就能看出来接口是干啥的,多直观啊?
wangkun025
2024-03-26 01:22:05 +08:00
我选择遵守 restful
caomu
2024-03-26 07:53:48 +08:00
@seers
@OutOfMemoryError 这啥道理?
cmdOptionKana
2024-03-26 08:06:33 +08:00
RESTful 是自找麻烦
lff0305
2024-03-26 08:06:36 +08:00
以前做项目见过的:

客户有奇葩的防火墙/负载均衡,对于
1. 非 Get Post 请求,高峰期不能保证 QOS ,要对 Get Post 让路
2. 非 2XX 返回值,会把 response 封装成类似 upstream error:<原始的 body> 而且可能 body 还会被截断

所以为了适应客户把项目做下去只能全部 GetPost ,用 200 返回,再把错误信息放在 Body 里面
cmdOptionKana
2024-03-26 08:08:20 +08:00
RESTful 就是非常典型的学院派风格,理论上很优雅,很美,但实践中弊大于利,碍手碍脚。
afxcn
2024-03-26 08:11:22 +08:00
我们就用 RESTful 风格的,国内国外的项目也没遇到什么问题。
aragakiyuii
2024-03-26 08:12:44 +08:00
MrDarnell
2024-03-26 08:43:19 +08:00
还是要走 restful 规范,现在很多公司规定 post 其实是一种负责人能力低下的表现,但碍于自尊心,拒绝承认
layxy
2024-03-26 08:47:05 +08:00
get,post,put,delete 四个都用,之前遇到过前端会吐槽说分不清接口,path 都一样容易调错
IvanLi127
2024-03-26 08:52:39 +08:00
反正我们严格遵守 RESTful ,等保和安全都过得去。我感觉这些请求方法都挺常见的
wangtian2020
2024-03-26 08:54:44 +08:00
都可以,市面上常见的两种接口风格
proxychains
2024-03-26 09:00:51 +08:00
GET 查询
POST 新增
hash
2024-03-26 09:01:18 +08:00
就像一楼说的,POST 一把梭是有他的原因的,但我仍然认为 POST 一把梭是傻逼
毕竟没有任何一个人一辈子只做政府外包
jonsmith
2024-03-26 09:01:19 +08:00
我用 get 和 post ,请求数据用 get 、更新用 post ,也见过全部用 post 的,但是全部 get 应该做不到。
proxychains
2024-03-26 09:01:32 +08:00
GET 查询
POST 新增
PUT 修改
DELETE 删除
bitmin
2024-03-26 09:08:57 +08:00
大部分接口都很简单,省得想名字,/、/{id} GET POST DELETE PUT PATCH 对应增删改查多简单

复杂接口另说,当然是随机应变

还好我们接口都是自己用,除了老板没人指手划脚
me1onsoda
2024-03-26 09:13:52 +08:00
现实的情况很复杂,一个新增的过程可能也有查询删除修改

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

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

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

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

© 2021 V2EX