我们是一家电子商务公司,我们允许我们的经销商一口气列出多个产品。
API的简化版本看起来像:
{
"dealerId":1,
"stocks": {
[]
}
}
由于我们允许经销商一口气发布多个股票,因此如果有一些验证错误,我们该怎么办。我们应该成功发布正确的股票并发送带有成功和失败股票的ID的响应消息吗?如果是,在这种情况下,响应代码应该是200或400或其他代码?
例如,让我们说stockID1具有正确的数据,但StockID2的价格小于1(验证错误)。
我们应该发布Stock1并拒绝Stock2还是我们应该拒绝两者?
在这种情况下休息什么建议?
您有两个选项:
- 返回
202 Accepted
告诉客户,它被接受了,但是没有保证一切顺利,并且正如预期的那样。 - 返回
200
和失败的项目列表。
重要的是选择一个,清楚地在API上进行通信,以便客户知道它,并保持一致。换句话说,请勿将202
用于某些操作,而200
进行其他操作。