0

0

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

藏色散人

藏色散人

发布时间:2022-08-07 13:47:53

|

1687人浏览过

|

来源于csdn

转载

什么是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

你好星识
你好星识

你的全能AI工作空间

下载

响应(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

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

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

63

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

73

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

20

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

11

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.5万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号