【发布时间】:2015-07-11 15:32:34
【问题描述】:
我目前正在使用 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 的控制器都具有相同的模板。
【问题讨论】:
-
为什么一定要给序列化器添加模板?不要忘记您可以调用
to_json,并且可以自定义as_json方法以重新映射或省略字段。 -
我实际上不需要添加模板,我现在想知道无论我使用什么 gem(序列化器、jbuilder 等),标准化响应的最佳方法是什么。
标签: ruby-on-rails json web-services api