ruby-on-rails – Rails:JSON中的验证错误代码
发布时间:2020-12-17 02:39:50 所属栏目:百科 来源:网络整理
导读:所以,我正在编写Rails web应用程序,该应用程序具有用于移动应用程序的 JSON API.例如,它将POST JSON请求发送到example.com/api/orders以创建订单. {id: 1,order: { product_name: "Pizza",price: 10000}} 在验证错误的情况下,我可以使用HTTP 422错误代码和js
所以,我正在编写Rails web应用程序,该应用程序具有用于移动应用程序的
JSON API.例如,它将POST JSON请求发送到example.com/api/orders以创建订单.
{id: 1,order: { product_name: "Pizza",price: 10000}} 在验证错误的情况下,我可以使用HTTP 422错误代码和json中的order.errors.full_messages进行响应.但我觉得在JSON响应中有特定的错误代码似乎更好.不幸的是,似乎Rails没有提供为验证错误设置错误代码的能力.如何解决这个问题呢? 解决方法
您可以在呈现响应时使用status选项传递自定义状态代码.
def create @order = ... if @order.save render json: @order else render json: { message: "Validation failed",errors: @order.errors },status: 400 end end 我通常倾向于在验证错误上返回HTTP 400.该消息是可读状态响应,还附加了错误. 这是一个响应的例子 { message: "Validation failed",errors: [ ... ] } 您还可以嵌入其他属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |