开发模式与Restful

-
-
2025-09-26 11:15

1. Web开发模式

1.1前后端不分离

前端浏览器→请求动态页面→后端服务器:查询数据库,渲染模板界面,返回渲染后的结果→返回HTML界面→前端浏览器

缺点:针对不同客户端,需要开发不同的后端接口

1.2.前后端分离

浏览器→请求静态页面→静态文件服务器→返回静态文件→浏览器

浏览器→请求数据→后端服务器→返回所需数据(JSON、XML格式)→返回数据→浏览器

特点:使用API进行数据交换,一套API可以支持多个不同平台

2.Restful介绍

Restful是目前最流行的API设计风格,是一组架构约束条件和原则。满足这些条件和规则的应用程序或设计就是Restful。

2.1 特点

(1)每一个URI代表1种资源

(2)客户端使用GET、POST、PUT、DELETE 4个表示操作方式对服务端资源进行操作

a.  GET 获取资源

b. POST 新建资源

c. PUT 更新资源:整体更新

d. PATCH 更新资源:局部更新

e. DELETE 删除资源

(3)资源形式是XML或JSON

(4)客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求必须包含理所必须得信息(token)

3.Restful API设计风格

3.1.Http动词

3.2.url路径

(1)尽量使用名词

(2)不管是单一资源还是所有资源,路径中名词尽量使用复数

3.3.过滤参数

如果接口需要通过条件过滤返回结果,那么过滤的条件参数,应该作为查询字符串的参数传递

3.4 返回状态码

客户端的每一次请求,服务器都必须给出回应。回应包括HTTp状态码和数据两部分

HTTP状态码,三位数,五个类别,100多种状态码

1xx:需要客户端补充相关信息(API不需要这类代码)
2xx:操作成功
3xx:重定向
4xx:客户端错误
5xx:服务端错误

(1)2xx状态码

200状态码表示操作成功,Restful api设计风格中,不同的方法可以返回更精确的状态码

  • GET:200 OK
  • POST:201 Created,表示生成了新资源
  • PUT:200 OK
  • PATCH:200 OK
  • DELETE:204 No Content,表示资源已删除

 注意点

  • 202 Accepted状态表示服务器已经收到请求,但还未进行处理,会在未来再处理,通常用于异步操作。
  • 发生错误时,不应该使用200状态码

(2) 4xx状态码

4xx状态码表示客户端错误,主要有下面几种

  • 400:服务器不理解客户端的请求,未做任何处理
  • 401:用户未提供身份验证凭据或者身份验证失败
  • 403:权限不允许
  • 404:资源不存在
  • 405:通过身份验证,但HTTP方法不在权限之中
  • 410:资源已被转移
  • 415:不支持客户端要求的返回格式
  • 422:无法处理客户端上传的附件
  • 429:请求次数超过限额

(3) 5xx状态码

5xx表示服务端错误

  • 500:客户端请求有效,服务器处理时发生意外
  • 503:服务器无法处理请求,一般用于网站维护

3.5 返回内容

服务器返回的数据格式,应尽量使用JSON

 


目录