我们是一家电子商务公司,我们允许我们的经销商一次性列出多个产品。
API的简化版本如下:
{
"dealerId":1,
"stocks": {
[]
}
}
由于我们允许经销商一次性发布多个股票,如果存在一些验证错误,我们应该怎么做。我们是否应该成功发布正确的股票并发送包含成功和不成功股票的ID的回复消息?如果是,那么在这种情况下应该是响应代码,200或400或其他一些代码?
例如,假设stockId1有正确的数据,但stockId2的价格小于1,这是验证错误。
我们应该POST stock1并拒绝stock2或者我们应该拒绝两者吗?
REST对这种情况的建议是什么?
答案 0 :(得分:1)
您有两种选择:
202 Accepted
告诉客户它已被接受,但无法保证一切顺利并按预期进行。200
以及失败的项目列表。重要的是选择一个,在API上清楚地传达这一点,以便客户了解它并保持一致。换句话说,不要将202
用于某些操作,而200
用于其他操作。