内容协商 (Content Negotiation) 是 HTTP 协议重要的组成部分,它允许客户端与服务端协商内容的媒体类型 (MIME) 等信息,但不能拿来协商内容结构。日常开发当中,这个其实是刚需的功能:或许你还能记得客户端需要什么字段的时候,服务端就对应地修改返回的数据。反反复复的日子😂。为了解决这个问题,计划在 Accept 请求头当中 schema
参数用于协商数据结构
POST /sessions
Accept: application/json; charset=utf-8; schema={id,user{name,id}}
这个例子里,客户端协商数据结构为 {id,user{name,id}}
,因此服务端自动地响应需要的自动为 JSON 格式
{