【问题标题】:REST: Can we partially execute a POST/PUT/DELETE resource for API executing multiple request at the same timeREST:我们可以为 API 同时执行多个请求部分执行 POST/PUT/DELETE 资源吗
【发布时间】:2017-02-21 05:44:05
【问题描述】:

我们是一家电子商务公司,我们允许我们的经销商一次性列出多种产品。

API 的简化版本如下:

{
 "dealerId":1,
 "stocks": {
        [] 
 }

}

由于我们允许经销商一次性发布多只股票,如果出现验证错误,我们应该怎么做。我们是否应该成功发布正确的股票并发送带有成功和不成功股票 id 的响应消息?如果是,在这种情况下应该是什么响应代码,200 或 400 或其他代码?

例如,假设 stockId1 的数据正确,但 stockId2 的价格小于 1,这是验证错误。

我们应该发布 stock1 并拒绝 stock2 还是我们应该拒绝两者?

REST 对这种情况有何建议?

【问题讨论】:

    标签: rest asp.net-web-api api-design


    【解决方案1】:

    你有两个选择:

    1. 返回202 Accepted 告诉客户它已被接受,但不能保证一切顺利并按预期进行。
    2. 返回200 和失败的项目列表。

    重要的是选择一个,在您的 API 上清楚地传达这一点,以便客户意识到这一点,并保持一致。也就是说,某些操作不要使用202,其他操作不要使用200

    【讨论】:

      猜你喜欢
      • 2022-10-13
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 2022-06-19
      • 2013-04-08
      • 2012-01-08
      • 1970-01-01
      • 2016-05-28
      相关资源
      最近更新 更多