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

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

时间:2023-08-01 10:32:56浏览次数:35  
标签:为什么 请求 接口 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_16182967/6918267

相关文章

  • 用大白话科普什么是「API接口」
    ......
  • 限制IP对接口的调用频率_基于Redis实现
    pom.xml引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>逻辑代码 privatebooleanli......
  • PostgreSQL的使用
    显示所有用户和角色的权限\du显示所有表的权限\dp切换到myDatabase数据库\cmyDatabase使用username登录myDatabase数据库psql-Uusername-dmyDatabase;移除username在myDatabase数据库上的所有权限revokeallprivilegesondatabasemyDatabasefromusername;移除......
  • Java面试题 P25:Redis篇:redis是单线程的,但是为什么还那么快?
    一、Redis是单线程的,但是为什么还那么快1、Redis是纯内存操作,执行速度非常快2、采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题,加入并发锁,影响性能3、使用I/O多路复用模型,非阻塞IO二、你能解释一下I/O多路复用模型? ......
  • 接口幂等性,qps,tps,并发量,pv,uv,脏读,不可重复读,幻读
    1脏读,不可重复读,幻读,mysql5.7以后默认隔离级别是什么?脏读:'当一个事务读取了另一个未提交事务的数据时,称为脏读。当事务A读取到事务B尚未提交的数据时,如果事务B回滚,那么事务A读取的数据就是无效的或者不一致的,导致脏读的结果是不可靠的。'不可重复读:'在同一个事务中,对于相同的......
  • 【go语言】3.1.2 接口的定义和实现
    在Go中,接口是一种抽象类型,用来描述其他类型应该有哪些方法。它定义了一组方法,但没有实现。这些方法由其他类型实现。接口的定义接口定义的格式如下:typeInterfaceNameinterface{Method1(param1type1,param2type2)returntype1Method2(param1type1,param2ty......
  • 【13.0】DRF之接口文档
    【一】引入后端把接口写好后登录接口注册接口查询所有图书带过滤接口前端人员需要根据接口文档,进行前端开发前后端需要做对接---->对接第一个东西就是这个接口文档--->前端照着接口文档开发后端编写接口:后端团队负责设计和实现系统中的各个接口,根据业务需求完......
  • 脏读,不可重复读,幻读 ,mysql5.7以后默认隔离级别是什么?什么是qps,tps,并发量,pv,uv、什么是
    目录一、脏读,不可重复读,幻读,mysql5.7以后默认隔离级别是什么?脏读,不可重复读,幻读脏读不可重复读幻读mysql5.7以后默认隔离级别是什么二、什么是qps,tps,并发量,pv,uv三、什么是接口幂等性问题,如何解决?一、脏读,不可重复读,幻读,mysql5.7以后默认隔离级别是什么?程序访问数据库,往往是多......
  • 导入接口文档
      注册Yapi 点击添加项目,创建2个项目  进入项目点击数据管理 选择json 导入文件 ......
  • 浅谈新生代为什么要分三块区域并且比例为什么是8:1:1
           如题,最近在网上看到了一个某大厂的面试题:“新生代为什么分三块区域且比例为什么是8:1:1"?网上答案比比皆是,我是没搜到什么有价值的答案,今天结合这个题目谈谈自己的粗浅想法,如有不对还望指正;另外需要说明的是,接下来聊的都是基于G1之前的垃圾收集器;      ......