【问题标题】:REST API request failed http response codeREST API 请求失败 http 响应代码
【发布时间】:2012-12-25 14:02:41
【问题描述】:

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

POST api.domain.com/object/set_ftp_credentials

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

什么是正确的做法?

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

【问题讨论】:

  • 请注意,URI 是资源的标识符,而不是过程的标识符。将其视为对象而不是方法。换句话说,URI 不应包含动词。您应该改为: PUT /ftp_credentials

标签: api http rest httpresponse


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    一种方法是自己回答以下问题:

    1. 您支持哪些 HTTP 方法?
    2. 每种 HTTP 方法的预期行为是什么?
    3. 对于每种受支持的 HTTP 方法,如果出现问题,可能会导致哪些故障类别?

    现在,使用 200 HTTP 响应代码返回您预期的响应负载。失败返回客户端错误(400 类)或服务器端错误(500 类)。

    您可能需要考虑以下几点:

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

    【讨论】:

      猜你喜欢
      • 2015-06-11
      • 2014-09-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多