基础概念
什么是前后端分离
前后端分离的定义
它将传统的web应用从一个整体拆分成两个独立的部分:前端(Front-end)和后端(Back-end).
- 前端:主要负责用户界面(UI)的呈现和交互逻辑;
- 后端:主要负责业务逻辑、数据处理和数据库的交互
优点
- 提高开发效率
- 增强系统的可维护性
- 提升用户体验
- 技术栈灵活
前后端分离中API的作用
API: Application Programming Interface(应用程序接口)
RESTful API 简述
REST:意思为Representational State Transfer(表述性状态转移),其是一种软件架构风格,而非标准。故RESTful API是一个REST风格的接口,或者说满足REST风格的接口。
在很多年前的案例:
http://www.example.com/get_rates?name=usdeur
http://www.example.com/update_rates?...
http://www.example.com/delete_rates?...
这样设计的 API 并不好, 非常混乱, 但是满足 REST 风格的接口是这样的:
GET http://www.example.com/rates
POST http://www.example.com/rates
只需要改变请求方法(Method)就可以完成相关的操作,易于理解、易于调用。
GET、POST、PUT 和 DELETE
- GET: 取出资源(一项或者多项)
- POST: 新建一个资源
- PUT:更新资源(客户端提供完整资源数据)
- PATCH: 更新资源(客户端提供需要修改的资源数据)
- DELETE: 删除资源。
RESTful API 核心要点
资源 (Resources): 每一个 URL 代表一个资源(将互联网的资源抽象成资源, 将获取资源的方式定义为方法), 如
api/articles/3/
, (以资源为基础, 资源可为一个图片、更多以 JSON 为载体, 如{"fromCurrency": "USD","toCurrency": "KZT","rate": 479}
)。使用 HTTP 方法(GET、POST、PUT、DELETE 等)表示对资源的操作。
使用 HTTP 状态码(Http Status Code)表示请求的结果(响应状态码),
如 200(成功)、404(未找到)、500(服务器错误), 以下是更具体情况:
我们案例中还会用到如 401(Unauthorized)
: 状态码401 Unauthorized(未经授权)
, 201(Created)
:请求已被成功处理且创建了新的资源。