在使用 API 时,Content-Type: application/json 头部是非常重要的,指示服务器请求体中的数据格式为 JSON。以下是需要在请求的 Headers 中写入 Content-Type: application/json 的几种情况:
1. POST 请求
- 条件:当你使用 POST 请求创建新资源时,通常需要发送请求体。
- 示例:创建用户时,你会发送 JSON 格式的数据:
POST /users/create HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "johndoe@example.com"
}
2. PUT 和 PATCH 请求
- 条件:当你使用 PUT 或 PATCH 请求更新现有资源时,通常需要发送 JSON 格式的数据。
- 示例:更新用户信息时,发送请求体:
PUT /users/1 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"email": "john.doe@example.com"
}
3. 任何需要 JSON 数据的请求
- 条件:如果 API 文档指定请求体需要为 JSON 格式,无论是 POST、PUT、PATCH,甚至是某些 DELETE 请求。
- 示例:一些 API 在 DELETE 请求中可能需要附带 JSON 数据以指明删除条件。
DELETE /users/1 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"reason": "User requested deletion"
}
4. 当 API 明确要求 JSON 格式
- 条件:在任何情况下,只要 API 文档或规范要求发送的请求体为 JSON 格式,就需要设置这个头部。
- 示例:在 API 文档中如果说明使用 Content-Type: application/json,则应遵循该要求。
5. 与 JSON Web Token (JWT) 结合使用
- 条件:在某些认证机制中,
尤其是使用 JWT 的场景,可能需要在请求体中发送 JSON 格式的凭证或令牌。 - 示例:例如,在进行用户登录时,发送的登录凭据通常为 JSON 格式:
POST /auth/login HTTP/1.1
Host: example.com
Content-Type: application/json
{
"username": "johndoe",
"password": "password123"
}
总结
在进行任何需要发送 JSON 格式数据的 API 请求时,都应在 Headers 中添加 Content-Type: application/json。
如果不添加这个头部,服务器可能无法正确解析请求体,导致错误(如 415 Unsupported Media Type)。
始终参考 API 文档,以确保遵循所有格式要求。

被折叠的 条评论
为什么被折叠?



