假设端点名为: /水果 /肉 并且有一个名为“Farm”的正确参数,但传递到端点的参数值不正确/超出边界,其中该值与身份验证/权限相关:
例如, /meat?Farm=KingRanch 返回 HTTP 200,因为 KingRanch 是一个肉类农场。
/fruit?Farm=KingRanch 的正确错误代码应该是什么? HTTP 400 并明确说明 KingRanch 不是果园?或者 HTTP 403?
在测试环境中进行测试,有 HTTP 403。但我在想 HTTP 400 是否更好。
您应该使用错误 400。如果 KingRange 是肉类农场,则它与身份验证无关,因为它是一个业务流程,也是数据验证规则的一部分,说明 KindRange 是否可以处理水果。 (如果您的凭据不正确,则会出现身份验证错误。)