休息:我们可以部分执行API同时执行多个请求的API的POST/PUT/DELETE资源



我们是一家电子商务公司,我们允许我们的经销商一口气列出多个产品。

API的简化版本看起来像:

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

}

由于我们允许经销商一口气发布多个股票,因此如果有一些验证错误,我们该怎么办。我们应该成功发布正确的股票并发送带有成功和失败股票的ID的响应消息吗?如果是,在这种情况下,响应代码应该是200或400或其他代码?

例如,让我们说stockID1具有正确的数据,但StockID2的价格小于1(验证错误)。

我们应该发布Stock1并拒绝Stock2还是我们应该拒绝两者?

在这种情况下休息什么建议?

您有两个选项:

  1. 返回 202 Accepted告诉客户,它被接受了,但是没有保证一切顺利,并且正如预期的那样。
  2. 返回200和失败的项目列表。

重要的是选择一个,清楚地在API上进行通信,以便客户知道它,并保持一致。换句话说,请勿将202用于某些操作,而200进行其他操作。

最新更新