我一直在与同事讨论是否给出了404或400(不良请求)的回应给出了网址的不同部分。
假设我们有一个提供产品的端点。但产品是分段的,取决于国家,渠道(如b2b或b2c)等等。
在像
这样的网址中/ myapi / V1 / {国家} / {信道} /产品/ {PRODUCT-ID}
如果来电者给我一个不好的"产品ID"我很清楚地回应RESOURCE NOT FOUND。
但是" country&#34 ;? 我认为" country"不是当前网址提供的资源,因此响应(在#34;国家"提供的是坏的情况下)应该是BAD REQUEST。 其他人则认为整个网址就像资源的签名和一个糟糕的国家"将导致无法返回200,因此RESOURCE NOT FOUND应该是响应状态。
哪一个是核心地位?什么是正确的问题?
答案 0 :(得分:1)
这绝对是404.不要将url看作一长串参数列表,而是将url视为整个标识符。在您的特定示例中,标识符不指向任何内容,但它不是无效的URL。
404是最合适的。