active_model_serialilzers gem предлагает использовать в контроллере следующее, чтобы вернуть ответ, совместимый с 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, который я видел, возвращался так же, как и безуказав jsonapi
:
def index
@posts = Post.all
render json: @posts
end
В обоих случаях для ответа content-type
установлено значение application/vnd.api+json; charset=utf-8
.В чем разница и как правильно ее использовать?