0

我有一个使用模块requests作为客户端和服务器实现的客户端-服务器接口tornado。我用它来查询数据库,其中某些数据项可能不可用。例如,查询中的作者可能不存在或书名不存在。

有没有推荐的方法让我的客户知道缺少什么?像一个HTTP 404: Author missing或类似的东西?

4

2 回答 2

1

由于 HTTP 404 响应可以有响应正文,我会将详细的错误消息放在正文中。例如,您可以Author Not Found在响应正文中发送字符串。您还可以以您的 API 已经使用的格式(例如 XML、JSON 等)发送响应字符串,以便来自服务器的每个响应都具有相同的基本形状。

是否对消息使用代码 404X Not Found取决于您的 API 的结构。如果它是一个 RESTful API,其中每个 URL 对应一个资源,那么如果缺少资源本身,404 是一个不错的选择。如果缺少请求的数据字段,但请求的资源存在,我认为 404 不是一个好的选择。

于 2013-07-16T15:41:50.557 回答
0

HTTP 404 的含义是固定的,请参阅维基百科的 HTTP 状态代码列表

您可以从这些状态代码中选择一个更适合您需求的特定状态代码,并添加一些有关传输数据中缺少的内容的上下文(如果我理解文档正确,请求的方法“文本”)。

于 2013-07-16T15:37:54.817 回答