我正在尝试创建一个REST API,用户可以在其中请求不同格式的响应。
例如,用户可以访问:
example.com/oranges/1.xml(以XML格式返回结果)
example.com/oranges/1.json(以JSON格式返回结果)
指示特定响应格式不可用的正确HTTP响应是什么?
例如,用户尝试访问:
example.com/oranges/1.yml(不支持的格式)
我会抛出404还是有更好的回复?
答案 0 :(得分:4)
如果您在URL中编码所需的格式,那么404确实是正确的响应 - 它告诉客户端它将永远不会,禁止服务器更改,能够对该URL执行任何操作。
通过正确的HTTP内容协商,使用Accept
请求标头(这将是更多的RESTamentalist选择),对不受支持的类型的适当响应将是406。
答案 1 :(得分:0)