首页 > 其他分享 >为什么有公司规定所有接口都用Post?

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

时间:2022-11-06 11:36:22浏览次数:47  
标签:为什么 请求 接口 API PUT Post POST 资源

看到这个标题,你肯定觉得离谱。怎么会有公司规定所有接口都用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 操作是幂等的。如果您删除一个资源,它会从资源集合中删除。


GET

POST

PUT

DELETE

请求是否有主体




可以有

成功的响应是否有主体




可以有

安全





幂等





可缓存





HTML表单是否支持





标签:为什么,请求,接口,API,PUT,Post,POST,资源
From: https://blog.51cto.com/u_15773567/5827229

相关文章

  • 复习 - node.js(接口案例)
    其实复习一次的作用真实太大了,真的,自从上次ajax开始其实就开始i有点懵懵懂懂的感觉,一直拖想到了node在去回顾一遍,这一次回去复习,ajax已经很熟练了,node之前搞不懂那些原理也......
  • sonarqube-postgresql-sonar-scanner安装配置linux
    1、上传jdk、sonarqube、postgresql到服务器1.1、jdk11下载1.2、sonarqube下载1.3、postgresql下载2、jdk安装配置#解压tar-zxvfOpenJDK11U-jdk_x64_linux_hotspo......
  • 什么是 immutable?为什么要使用它?
    什么是immutable?为什么要使用它?​​immutable​​是一种持久化数据。一旦被创建就不会被修改对​​Immutable​​对象的任何修改或添加删除操作都会返回一个新的​​Immu......
  • postgresql函数:满足特定格式的表及指定日期前的删除
    --一、现有函数--1、现有函数调用select"ap"."delete_analysis_backup"('ap');--2、函数内容CREATEORREPLACEFUNCTION"ap"."delete_analysis_backup"("schema_name"......
  • IDEA怎么将目录转换成资源,在目录下为什么不能创建包或者是java类的问题
    在学习建立Maven模块的时候出现的问题,理应该上面红色的那一块应该和下面的那一块是一样的,但是不知道为什么不一样,而且,也无法在xxxx这个目录下面建立包或者是java类  ......
  • 不要小瞧了Map接口,实现一个Map对象并不简单!
    不要小瞧了Map接口,实现一个Map对象并不简单!这篇文章我们不谈别的,就讲讲Map接口,以及Map集合的一个重要的概念,Map的元素的散列。实现Map接口如果我们想自己定义一个Map需要......
  • Java集合接口Enumeration
    Java集合接口EnumerationEnumeration接口是Iterator迭代器的“古老版本”,从JDK1.0开始,Enumeration接口就已经存在了(Iterator从JDK1.2才出现)。Enumeration接口只有两个......
  • ZYNQ 中PS与PL交互的硬件接口
    一、ZYNQ整体框图二、细节图三、PL与PS交互接口1、接口介绍在ZYNQ芯片内部用硬件实现了AXI总线协议,包括12个物理接口,分别为S_AXI_HP{0:3}_FPD------->(PL为......
  • 003.完成第一个接口的开发
    1.开发firstrequest接口/***描述:演示接口和传参*//@RestController表示返回时JSON格式不是页面*/@RestControllerpublicclassParaController{@G......
  • PostgreSQL查看表结构语句
    参考​​https://www.modb.pro/db/60164​​在PG里面查看表结构,不如mysql那样showcreatetablexx这样方便。 在PG里面常用如下3种方法:第一种,最朴实的方法就是pg_dump......