实用干货:公司规定所有接口都用 POST请求,为什么?
大家好,我是大澈!
本文约1000+
字,整篇阅读大约需要2分钟。
感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包
"一份,然后免费加入问答群
,从此让解决问题的你不再孤单!
1. 干货速览
最近,我在网上看到一篇文章,文章中大佬聊了一个有趣的问题,关于公司规定所有接口都用 POST请求,为什么?
特此分享给大家,一起感触一下。
跟着大佬的文章思路,我们先回顾一下?get 与 post
?请求的一些区别
:
-
-
post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
-
post发送的数据更大(get有url长度限制)
-
post能发送更多的数据类型(get只能发送ASCII字符)
-
post比get慢
-
post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作
-
get请求的是静态资源,则会缓存,如果是数据,则不会缓存
-
总结一下
,post 在发送数据量大的请求时优势很明显,get 则更适合获取静态资源、简单的查询等接口。
这八股文干货,有点干哈!
说说我自己的感受哈,我前后也待过几家公司了,但是大体分为两类
:
一类是公司规定所有接口都用 POST请求。
一类是简单的查询请求使用 get 方法,其他增、删、改、复杂的查询请求都使用 post。
我个人比较倾向于第二类
,没别的,就是第一类个人不太理解为啥要这么操作,很迷惑!
至于还有一类
,那种严格遵循Restful规范的公司,很遗憾还没有遇到。
2. 干货详述
先科普一下Restful能明确列出来的好处,再一块看一下文章中大佬的阐述。
2.1?Restful的好处
Restful能明确列出来的好处如下,当然这并不全面
:
表达不同的业务动作语义,GET/POST/PATCH/PUT/DELETE
等。
表达“资源”的概念利用。
url path,querystring,header,status code等来表达很多接口功能。
可以围绕统一的接口表达形式实现接口维护的工具,比如swagger。
Get资源可以利用缓存。
2.2?全用POST的理由
关于公司中接口全用POST的理由,知友?苏莉安
?大佬给出了清晰的总结:
2.3 是否要用Restful接口
关于在公司中是否要运用Restful接口,知友?大宽宽
?大佬给出了一个比较中肯的答案:
最后想说
,如果是你来设计公司的 API 规范,会规定所有接口都用 post 请求吗,这是为什么?
结语
建立这个平台的初衷:
-
打造一个专注于前端功能问题的问答平台,让大家高效搜索处理同样问题。
-
通过不断积累问题,一起练习逻辑思维,并顺便学习相关知识点。
-
遇到有共鸣的问题,与众多同行朋友们一起讨论,一起沉淀成长。
-
为了给功能问题专栏添加乐趣,增设技术资讯、实用干货两个新专栏。
感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包
"一份,然后免费加入问答群
,从此让解决问题的你不再孤单!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!