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
。有什么区别?正确的使用方法是什么?