为什么有公司规定所有接口都用Post?

·  阅读 52691
为什么有公司规定所有接口都用Post?

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情

看到这个标题,你肯定觉得离谱。怎么会有公司规定所有接口都用Post,是架构菜还是开发菜。这可不是夸大其词,这样的公司不少。

在特定的情况下,规定使用Post可以减少不少的麻烦,一起看看。

Answer the question

我们都知道,get请求一半用来获取服务器信息,post一般用来更新信息。get请求能做的,post都能做,get请求不能做的,post也都能做。

如果你的团队都是大佬,或者有着良好的团队规范,所有人都在平均水平线之上,并且有良好的纠错机制,那基本不会制定这样的规则。

但如果团队成员水平参差不齐,尤其是小团队,创业团队,常常上来就开干,没什么规范,纯靠开发者个人素质决定代码质量,这样的团队就不得不制定这样的规范。

毕竟可以减少非常多的问题,Post不用担心URL长度限制,也不会误用缓存。通过一个规则减少了出错的可能,这个决策性价比极高。

造成的结果:公司有新人进来,什么lj公司,还有这种要求,回去就在群里讲段子。

实际上都是有原因的。

有些外包公司或者提供第三方接口的公司也会选择只用Post,就是图个方便。

最佳实践

可能各位大佬都懂了哈,我还是给大家科普下,GET、POST、PUT、DELETE,他们的区别和用法。

GET

GET 方法用于从服务器检索数据。这是一种只读方法,因此它没有改变或损坏数据的风险,使用 GET 的请求应该只被用于获取数据。

GET API 是幂等的。 每次发出多个相同的请求都必须产生相同的结果,直到另一个 API(POST 或 PUT)更改了服务器上资源的状态。

POST

POST 方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或创建新资源。POST既不安全也不幂等,调用两个相同的 POST 请求将导致两个不同的资源包含相同的信息(资源 ID 除外)。

PUT

主要使用 PUT API更新现有资源(如果资源不存在,则 API 可能决定是否创建新资源)。

DELETE

DELETE 方法删除指定的资源。DELETE 操作是幂等的。如果您删除一个资源,它会从资源集合中删除。

GETPOSTPUTDELETE
请求是否有主体可以有
成功的响应是否有主体可以有
安全
幂等
可缓存
HTML表单是否支持

你们公司有啥奇葩规定吗?咱们评论区见,我是正经程序员,欢迎点赞收藏关注,感谢!

分类:
后端
收藏成功!
已添加到「」, 点击更改