零、基本流程
-
定义接口:确定接口的 URL、请求方法、请求头和请求体格式。
-
准备请求数据:将用户信息格式化为 JSON 格式。
-
构造 HTTP 请求:设置请求方法、路径、请求头和请求体。
-
发送请求:使用工具或编程语言发送请求。
-
服务器处理请求:解析请求、验证数据、处理业务逻辑并生成响应。
-
返回响应:服务器返回响应状态码、响应头和响应体。
-
客户端处理响应:根据响应内容提示用户操作结果。
一、请求方法
0.基础用法
请求方法定义了对资源的操作类型,接口的请求方法通常指的是客户端与服务器之间进行通信时所使用的 HTTP 方法。
1. GET
-
用途:请求获取服务器上的资源。
-
特点:
-
是最常用的 HTTP 方法。
-
请求参数通常附加在 URL 中(通过查询字符串)。
-
是幂等的,即多次请求的效果与一次请求相同。
-
是安全的,不会对服务器资源产生修改。
-
-
示例:
http复制
GET /api/users?id=123 HTTP/1.1 Host: example.com
2. POST
-
用途:向服务器提交数据,通常用于创建新资源。
-
特点:
-
请求体中包含要提交的数据。
-
不是幂等的,多次请求可能会产生不同的结果(例如创建多个资源)。
-
不是安全的,会对服务器资源产生修改。
-
-
示例:
http复制
POST /api/users HTTP/1.1 Host: example.com Content-Type: application/json{"name": "John Doe","email": "john@example.com" }
3. PUT
-
用途:向服务器提交数据,通常用于更新现有资源。
-
特点:
-
请求体中包含要更新的数据。
-
是幂等的,多次请求的效果与一次请求相同。
-
不是安全的,会对服务器资源产生修改。
-
-
示例:
http复制
PUT /api/users/123 HTTP/1.1 Host: example.com Content-Type: application/json{"name": "John Doe Updated","email": "john.updated@example.com" }
4. DELETE
-
用途:请求服务器删除指定的资源。
-
特点:
-
通常不包含请求体。
-
是幂等的,多次请求的效果与一次请求相同。
-
不是安全的,会对服务器资源产生修改。
-
-
示例:
http复制
DELETE /api/users/123 HTTP/1.1 Host: example.com
5. PATCH
-
用途:对资源进行部分更新。
-
特点:
-
请求体中包含要更新的部分数据。
-
不是幂等的,多次请求可能会产生不同的结果。
-
不是安全的,会对服务器资源产生修改。
-
-
示例:
http复制
PATCH /api/users/123 HTTP/1.1 Host: example.com Content-Type: application/json{"email": "john.new@example.com" }
6. HEAD
-
用途:请求获取资源的头部信息,但不返回资源本身。
-
特点:
-
类似于 GET 请求,但不返回响应体。
-
通常用于检查资源是否存在或获取资源的元数据。
-
是幂等的,是安全的。
-
-
示例:
http复制
HEAD /api/users/123 HTTP/1.1 Host: example.com
7. OPTIONS
-
用途:请求服务器返回可用的 HTTP 方法。
-
特点:
-
用于获取服务器支持的 HTTP 方法。
-
不会对服务器资源产生修改。
-
是幂等的,是安全的。
-
-
示例:
http复制
OPTIONS /api/users HTTP/1.1 Host: example.com
8. CONNECT
-
用途:用于建立隧道,通常用于代理服务器。
-
特点:
-
用于建立到指定资源的隧道。
-
不会对服务器资源产生修改。
-
-
示例:
http复制
CONNECT example.com:443 HTTP/1.1 Host: example.com
9. TRACE
-
用途:用于回显服务器收到的请求,主要用于调试。
-
特点:
-
服务器会将收到的请求原样返回给客户端。
-
不会对服务器资源产生修改。
-
是幂等的,是安全的。
-
-
示例:
http复制
TRACE /api/users HTTP/1.1 Host: example.com