我应该使用 accept http header 还是更明确的 rest api 资源来定义客户端请求的数据格式?

Should I use the accept http header or a more explicit rest api resource to define the data format requested by the client?

假设我有一个 API,例如:/api/v1//modify?txtUri={a-text-file-uri-goes-here},它过滤和修改位于给定 URI 的给定文本文件,并且有效负载中的 returns 响应过滤后的文本文件基于一些内部业务规则。

起初我只想 return JSON 但我想允许不同的 return 格式。

是否更好(即最标准的方式):

使用 Accept header 作为 REST API 是 HTTP,这就是 HTTP 的工作方式。这也是您 API 的用户所期望的。

如果您不想使用 accept header,绝对不要使用 QueryString - 您可以一键使用扩展名,例如/api/v1/modify.json?txtUri={a-text-file-uri-goes-here} Twitter 这样做,但我的偏好是接受 header.