用 JSON 创建 Rails API

此示例假定你具有创建 Rails 应用程序的经验。

要在 Rails 5 中创建仅限 API 的应用程序,请运行

rails new name-of-app --api

在 Gemfile 中添加 active_model_serializers

gem 'active_model_serializers'

在终端安装绑定

bundle install

ActiveModelSerializer 适配器设置为使用:json_api

# config/initializers/active_model_serializer.rb
ActiveModelSerializers.config.adapter = :json_api
Mime::Type.register "application/json", :json, %w( text/x-json application/jsonrequest application/vnd.api+json )

为你的资源生成一个新的 Scaffolding

rails generate scaffold Task name:string description:text

这将生成以下文件:

控制器:app / controllers / tasks_controller.rb

Test:       test/models/task_test.rb
            test/controllers/tasks_controller_test.rb
Routes:     resources :tasks added in routes.rb
Migration:  db/migrate/_create_tasks.rb
Model:      app/models/task.rb
Serializer: app/serializers/task_serializer.rb
Controller: app/controllers/tasks_controller.rb