支持同一端点处理多种内容类型的REST API的专业术语是什么
对应技术术语
该特性的标准技术术语是内容协商(Content Negotiation),是HTTP协议原生定义的机制,也是REST架构风格里的经典实践规范。
内容协商覆盖了你描述的两类场景:
- 响应格式协商:服务端读取请求携带的
Accept头,匹配自身支持的响应格式(比如示例中的json、protobuf),返回对应格式的内容,同时会在响应的Content-Type头中标注实际返回的格式类型。如果服务端不支持客户端声明的期望格式,通常返回406 Not Acceptable状态码。 - 请求格式解析:服务端读取请求携带的
Content-Type头,按照对应格式规则解析请求体内容。如果服务端无法识别或解析传入的内容格式,通常返回415 Unsupported Media Type状态码。
你列举的场景完全是内容协商的标准用法:
GET /api/users/:id端点根据Accept头选择返回JSON或Protobuf格式响应,属于响应侧的内容协商PUT /api/users端点根据Content-Type头解析JSON或Protobuf格式请求体,属于请求侧的内容协商
部分场景下也会有人把这类围绕数据格式展开的协商叫做「媒体类型协商」,本质是内容协商的核心组成部分——整个协商流程的核心就是匹配客户端和服务端共同支持的媒体类型(MIME Type)。
内容的提问来源于stack exchange,提问作者David Alsh
相关产品推荐
相关产品推荐

