我有一个带有下一个资源的Rails API应用程序:/images
。所有图像都有一个owner
。
要创建新图像,我对/images进行下一个请求:
image_info = { owner_id: '1234', name: 'img1' }
post :create, :format => "json", :image => @image_info
在图像 Controller 中,我这样做:
owner = User.find( params[:owner_id] )
如果
owner_id
不存在或无效,则后端应使用owner_id: invalid
返回404或422哪个错误代码? 最佳答案
更新
我再次阅读,我将答案更改为422
,因为您无法完成对请求的处理。不可转换的实体与其更好地匹配,您没有请求对象,因此“未找到”没有任何意义。最后,是您的选择,只要选择对自己更满意的东西即可。
422无法处理的实体(WebDAV; RFC 4918)
该请求格式正确,但由于语义错误而无法遵循
资料来源:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error