为什么要在仅用于端点的API控制器的末尾渲染JSON?

时间:2017-06-30 04:33:25

标签: ruby-on-rails

假设您点击Foos控制器中的 render json: foo, serializer: FooSerializer, status: :created 操作,渲染json的目的是什么?在行动结束?这是成功后传递给帖子请求的内容吗?

{{1}}

1 个答案:

答案 0 :(得分:1)

这是一种常见的做法。因此,该端点的使用者可以使用新创建的资源而无需额外请求(例如,在某处获取额外的GET以获取该新创建的资源上的数据)。

使用POST时,如果代码为201,则需要返回正文。通常,此响应主体是新创建的资源的实体表示。如果您不想退回任何内容,可以使用204 :no_content201很好,因为它确认了某些东西的创建。 200也可以接受。

您可以返回任何您想要的内容,例如{ message: 'created' }。只要保持一致,让所有端点都做同样的事情,或者不要过度思考它,只返回新创建的foo