[英]Standarize JSON response in Rails API
我目前正在使用Rails构建API。 所有响应均以JSON表示。 例如,我的控制器使用:
render json: @users, status: :ok
或者,当我设置respond_to :json
,我使用:
respond_with @users, status: :ok
我想知道什么是证明我的回答最佳的方法。 喜欢:
{
error_code: 0,
content: ... (@users as JSON)
}
我尝试过使用JBuilder和序列化器( https://github.com/rails-api/active_model_serializers ),但是我必须将模板添加到每个视图/序列化器中。
我想要一种优雅的方法 ,以便任何调用render
或respond_with
控制器都具有相同的模板。
也许不是您要找的东西,但是当我必须编写这类API的代码时,我只需在所有控制器可以访问的地方定义一个方法,然后始终在其上调用render / redirect。
调节器
render json: formatted( @user, :ok )
方法
def formatted( obj, status )
{ error_code: status, content: obj }
end
不一定“优雅”,但它可读性强,有效,易于维护,并且可以正确呈现,但是您希望输出结果(此外,它不涉及对现有方法的黑客攻击,我倾向于觉得这很草率)。
很抱歉,如果您正在寻找完全不同的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.