render jsonapi:@posts和render json:@posts之间的区别

时间:2019-03-05 09:50:06

标签: active-model-serializers rails-api

active_model_serialilzers gem suggests在控制器中使用以下命令返回符合JSON API的响应:

def create
    @post = Post.new(post_params)
    respond_to do |format|
      if @post.save
        format.jsonapi { render jsonapi: @post, status: :created, location: @post }
      else
        format.jsonapi { render jsonapi: @post.errors, status: :unprocessable_entity }
      end
    end
  end

但是在某些使用相同AMS gem的应用中,我看到返回的内容如下,但未指定jsonapi

 def index
    @posts = Post.all
    render json: @posts
 end

在两种情况下,响应都将content-type设置为application/vnd.api+json; charset=utf-8。有什么区别?正确的使用方法是什么?

0 个答案:

没有答案