Rumah  >  Artikel  >  hujung hadapan web  >  这些核心知识点,前后端沟通必须掌握!

这些核心知识点,前后端沟通必须掌握!

藏色散人
藏色散人ke hadapan
2022-08-07 13:47:531517semak imbas

什么是restful?

restful是当下最流行的接口设计规范,前端和后端都必须知道的一种规范
该规范定义了接口开发中,各个流程之中

协议

客户端在通过 API 与后端服务通信的过程中,应该 使用 HTTPS 协议

域名

API 应该部署在专用域名之下,应尽可能保持足够简单。如果确定 API 很简单,不会有进一步扩展,可以考虑放在主域名下,这里有两个常见的 URL 根例子:

  • api.example.com/* 单独一个子域名用来访问接口
  • example.com/api/* 主域名之下单独一个空间

版本(Versioning)

所有的 API 必须保持向后兼容,你 必须 在引入新版本 API 的同时确保旧版本 API 仍然可用。所以 应该 为其提供版本支持

地址(path) 路由(router)

API 的具体网址

  • URL 的命名 必须 全部小写
  • URL 中资源(resource)的命名 必须 是名词,并且 必须 是复数形式
  • 必须 优先使用 Restful 类型的 URL
  • URL 必须 是易读的
  • URL 一定不可 暴露服务器架构

至于 URL 是否必须使用连字符(-) 或下划线(_),不做硬性规定,但 必须 根据团队情况统一一种风格

  • https://api.example.com/zoos
  • https://api.example.com/animals
  • https://api.example.com/zoos/{zoo}/animals
  • https://api.example.com/animal_types
  • https://api.example.com/employees

动词(请求方法 method)

对于资源的具体操作类型,由 HTTP 动词表示。常用的 HTTP 动词有下面五个(括号里是对应的 SQL 命令)。

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)全更新。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)部分更新。
  • DELETE(DELETE):从服务器删除资源。

url参数

所有 URL 参数 必须 是全小写,必须 使用下划线类型的参数形式
分页参数 必须 固定为 page、page_size

响应(Response)

必须 选择合适的 HTTP 状态码。
必须 返回 JSON 格式数据。
所有错误必须统一错误格式。

常见的状态码

  • 1xx 代表请求已被接受,需要继续处理 api中一般不出现
  • 2xx 请求已成功,请求所希望的响应头或数据体将随此响应返回
    • 200 服务器成功返回用户请求的数据
    • 201 用户新建或修改数据成功
    • 202 表示一个请求已经进入后台排队(成功了没有返回值,是一个异步)
    • 204 删除成功
  • 3xx 重定向
  • 4xx 客户端原因引起的错误
    • 404 请求的接口不存在,错误类型(请求地址错了)
    • 401 用户未登录
    • 403 用户登录了,但是没有权限访问
    • 422 客户端参数错误,验证错误
    • 429 超出请求限制
  • 5xx 服务端原因引起的错误
    • 500 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理,服务端代码报错
    • 503 服务器维护之中
    • 504 超时调用

错误格式

'message' => ':message',          // 错误的具体描述
'errors' => ':errors',            // 参数的具体错误描述,422 等状态提供
'code' => ':code',                // 业务自定义的异常码
'status_code' => ':status_code',  // http状态码
'debug' => ':debug',              // debug 信息,非生产环境提供

什么是报文?

HTTP报文时是HTTP进行请求和响应时用来交换信息的。报文是由客户端流入服务器的

报文分为两类:请求报文,响应报文

请求和响应报文的基本报文结构相同,都是由三部分组成:

  • 起始行:对报文进行描述
  • 首部:一些属性
  • 主体:数据【可选】

axios

兼容浏览器和node服务器
从浏览器中创建 XMLHttpRequests
从 node.js 创建 http 请求

支持 Promise API
支持拦截请求和响应
转换请求数据和响应数据
取消请求
自动转换 JSON 数据
客户端支持防御 XSRF

加油,陌生人! (来来往往不陌生,希望对您有所帮助)

Atas ialah kandungan terperinci 这些核心知识点,前后端沟通必须掌握!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam