假设我有一个类似的 API:/api/v1//modify?txtUri={a-text-file-uri-goes-here}
它过滤和修改位于给定 URI 的给定文本文件,并根据一些内部业务规则在有效负载响应中返回过滤后的文本文件。
起初我只想返回 JSON,但我想允许不同的返回格式。
是否更好(即最标准的方式):
使用不同的资源:
/api/v1/modify?txtUri={a-text-file-uri-goes-here}/json
/api/v1/modify?txtUri={a-text-file-uri-goes-here}/xml
返回/api/v1/modify?txtUri={a-text-file-uri-goes-here}
默认回退,返回 json
添加另一个可选的查询字符串参数
format
:/api/v1/modify?txtUri={a-text-file-uri-goes-here}?format=json
返回json格式/api/v1/modify?txtUri={a-text-file-uri-goes-here}?format=xml
返回 xml 格式/api/v1/modify?txtUri={a-text-file-uri-goes-here}
默认回退,return 返回 json
设置 Accept http 标头:https ://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Accept以及我们想要获取的返回格式,如果未设置,则返回 406 http 代码。