我正在设计一个尽可能兼容 HTTP 的 API。这包括发回特定的响应代码并使用
Accept
标头指定版本和响应类型。
我知道这可能看起来很主观,但我确信有一种传统的方法可以做到这一点。我有一组 API 支持的响应类型,以及特定于供应商的 MIME 类型来指定类型和版本。
目前,当客户端指定不存在的版本或类型时,我只是返回一个带有空主体的
400 Bad Request
,但是,我想返回一条有用的错误消息。如果我不知道响应类型,我觉得用纯文本(或默认为 JSON)响应有点脏。我是否缺少标题,或者我应该遵循一些约定?我想从偏移量中得到这个。
尝试 406 Not Acceptable 状态码。
http://support.microsoft.com/kb/943891/
这是 Microsoft IIS 支持的 HTTP 子代码列表。我发现这个页面非常方便,因为它可以让您深入了解他们用来处理各种错误的消息。有一些 HTTP 子代码引用标头。