实用干货:公司规定所有接口都用 POST请求,为什么?

大家好,我是大澈!

本文约1000+字,整篇阅读大约需要2分钟。

感谢关注微信公众号:"程序员大澈",免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单!

1. 干货速览

最近,我在网上看到一篇文章,文章中大佬聊了一个有趣的问题,关于公司规定所有接口都用 POST请求,为什么?

特此分享给大家,一起感触一下。

跟着大佬的文章思路,我们先回顾一下 get 与 post 请求的一些区别

arduino 复制代码
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 请求吗,这是为什么?

结语

建立这个平台的初衷:

  • 打造一个专注于前端功能问题的问答平台,让大家高效搜索处理同样问题。
  • 通过不断积累问题,一起练习逻辑思维,并顺便学习相关知识点。
  • 遇到有共鸣的问题,与众多同行朋友们一起讨论,一起沉淀成长。
  • 为了给功能问题专栏添加乐趣,增设技术资讯、实用干货两个新专栏。

感谢关注微信公众号:"程序员大澈",免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单!

相关推荐
不简说2 分钟前
这次真香!sv-print 可视化打印设计器更新:插件脚手架、Excel 导出、弹窗 API 三连发
前端·javascript·前端框架
无聊的老谢6 分钟前
Web GIS 最佳实践:Vue 集成 Leaflet/OpenLayers 实现基站海量点位渲染
前端·javascript·vue.js
东风破_15 分钟前
V8 如何执行你的代码——编译、上下文与调用栈
javascript
Aphasia31143 分钟前
从内存模型看深浅拷贝
前端·javascript·面试
云水一下1 小时前
TypeScript 从零基础到精通(二):基础类型与类型系统
javascript·typescript
你怎么知道我是队长2 小时前
CRC校验C语言实现-CRC8、CRC16、CRC16的直接计算法、查表法
c语言·前端·javascript
meilindehuzi_a2 小时前
深入理解 JavaScript 执行机制:从编译阶段到调用栈底层实现
开发语言·javascript·ecmascript
古怪今人2 小时前
[前端]HTML盒模型与尺寸,标准文档流,块级元素、内联元素和行内块,CSS选择器
前端·css
小雨下雨的雨2 小时前
基于鸿蒙PC Electron框架技术完成的表单验证技术详解
前端·javascript·华为·electron·前端框架·鸿蒙
提子拌饭1332 小时前
饮料含糖量查询应用 - 鸿蒙PC用Electron框架完整实现
前端·javascript·华为·electron·前端框架·鸿蒙