与不存在的项目相关的验证失败的 Http 状态代码

Http Status Code For Validation Failure Related To An Item Which Doesn't Exist

如果我有创建 "car" 实体的方法,并且作为其中的一部分,它需要 "manufacturerID" 但制造商不存在,我应该使用什么状态代码 return?

400 表示请求无效

或 404 表示与请求相关的东西不存在?

我对 404 犹豫不决,因为它可能暗示端点不存在,但事实并非如此,它是不存在的参数之一。

404 加上对不存在的内容的解释是否最合适?还是更模糊的 400?

400,因为如果请求包含 none 现有制造商,则该请求格式错误。

409 可能适用 (https://greenbytes.de/tech/webdav/rfc7231.html#status.409) -- 一旦创建了另一个资源,请求就会生效。