REST API请求失败了http响应代码

时间:2012-12-25 14:02:42

标签: api http rest httpresponse

我正在实现REST API,并且我有一个set_ftp_credentials请求 例如

POST api.domain.com/object/set_ftp_credentials

此请求通过尝试连接来检查ftp凭据是否良好 我们在这里讨论了是否应该返回HTTP响应200和内容
返回请求失败的原因 或者我们应该返回一些其他HTTP响应代码(40 *响应代码)。

这被认为是正确的方法吗?

如果不是200,那么您认为正确的响应代码是什么?

2 个答案:

答案 0 :(得分:3)

我认为200是一个OK响应,只应在成功满足请求时发送。

答案 1 :(得分:2)

最好的方法是自己回答以下问题:

  1. 您支持哪些HTTP方法?
  2. 每种HTTP方法的预期行为是什么?
  3. 对于每个受支持的HTTP方法,如果出现问题可能会导致哪些类型的失败?
  4. 现在,使用200 HTTP响应代码返回您预期的响应工资负载。返回故障的客户端错误(400级)或服务器端错误(500级)。

    您可能需要考虑以下事项:

    • 返回特定于您的应用程序的错误代码并将其映射到HTTP错误代码
    • 为成功的响应和错误响应定义了单独的数据协定(假设JSON格式或XML模式)

    例如,如果发生数据库故障,POST HTTP请求可能会返回501的应用程序错误代码,如果发生未知异常,则返回505,等等。对于所有这些情况,您应该返回500的HTTP错误代码和相应的应用程序有效载荷中的错误。