情况
我正在尝试创建一个RESTneneneba API,用户可以在其中请求不同格式的响应。
例如,用户可以访问:
example.com/orages/1.xml(以xml形式返回结果(
example.com/orages/1.json(以json形式返回结果(
问题
指示特定响应格式不可用的正确HTTP响应是什么
例如,用户尝试访问:
example.com/orages/1.yml(不支持的格式(
我投404还是有更好的回应
如果您在URL中编码所需的格式,那么404确实是正确的响应——它告诉客户端,除非服务器更改,否则它永远无法对该URL做任何事情。
在适当的HTTP内容协商下,使用Accept
请求标头(这将是更RESTelementalist的选择(,对于不受支持的类型,适当的响应将是406。
我会使用400。参见例如。http://en.wikipedia.org/wiki/List_of_HTTP_status_codes