REST:我们可以为 API 同时执行多个请求部分执行 POST/PUT/DELETE 资源吗
REST: Can we partially execute a POST/PUT/DELETE resource for API executing multiple request at the same time
我们是一家电子商务公司,我们允许我们的经销商一次性列出多种产品。
API 的简化版本如下所示:
{
"dealerId":1,
"stocks": {
[]
}
}
由于我们允许经销商一次post多只股票,万一出现验证错误,我们应该怎么做。我们是否应该成功 post 更正股票并发送包含成功和不成功股票 ID 的响应消息?如果是,在这种情况下响应代码应该是什么,200 或 400 或其他代码?
例如,假设 stockId1 的数据正确,但 stockId2 的价格小于 1,这是验证错误。
我们应该 POST stock1 并拒绝 stock2 还是我们应该拒绝两者?
对于这种情况,REST 有何建议?
您有两个选择:
- Return
202 Accepted
告诉客户它已被接受,但不能保证一切顺利并如预期。
- Return
200
和失败的项目列表。
重要的是选择一个,在您的 API 上清楚地传达这一点,以便客户知道并保持一致。换句话说,不要对某些操作使用 202
,对其他操作使用 200
。
我们是一家电子商务公司,我们允许我们的经销商一次性列出多种产品。
API 的简化版本如下所示:
{
"dealerId":1,
"stocks": {
[]
}
}
由于我们允许经销商一次post多只股票,万一出现验证错误,我们应该怎么做。我们是否应该成功 post 更正股票并发送包含成功和不成功股票 ID 的响应消息?如果是,在这种情况下响应代码应该是什么,200 或 400 或其他代码?
例如,假设 stockId1 的数据正确,但 stockId2 的价格小于 1,这是验证错误。
我们应该 POST stock1 并拒绝 stock2 还是我们应该拒绝两者?
对于这种情况,REST 有何建议?
您有两个选择:
- Return
202 Accepted
告诉客户它已被接受,但不能保证一切顺利并如预期。 - Return
200
和失败的项目列表。
重要的是选择一个,在您的 API 上清楚地传达这一点,以便客户知道并保持一致。换句话说,不要对某些操作使用 202
,对其他操作使用 200
。