当 API 参数值与端点不匹配时,正确的错误代码是什么?

问题描述 投票:0回答:1

假设端点名为: /水果 /肉 并且有一个名为“Farm”的正确参数,但传递到端点的参数值不正确/超出边界,其中该值与身份验证/权限相关:

例如, /meat?Farm=KingRanch 返回 HTTP 200,因为 KingRanch 是一个肉类农场。

/fruit?Farm=KingRanch 的正确错误代码应该是什么? HTTP 400 并明确说明 KingRanch 不是果园?或者 HTTP 403?

在测试环境中进行测试,有 HTTP 403。但我在想 HTTP 400 是否更好。

api error-handling http-status-code-403 http-status-codes http-status-code-400
1个回答
0
投票

您应该使用错误 400。如果 KingRange 是肉类农场,则它与身份验证无关,因为它是一个业务流程,也是数据验证规则的一部分,说明 KindRange 是否可以处理水果。 (如果您的凭据不正确,则会出现身份验证错误。)

© www.soinside.com 2019 - 2024. All rights reserved.