如何为现有的rails应用程序构建版本API?

时间:2016-04-12 10:00:20

标签: ruby-on-rails ruby-on-rails-4 rubygems

如何为现有的rails应用构建版本API? 我已经建立了一个简单的应用程序与用户和公司的关系

Company has_many users

User belongs_to company

如何为此应用构建版本化 api

1 个答案:

答案 0 :(得分:4)

API的目录结构

这里,ApiController是ApplicationController的子类,并充当所有其他API控制器的父类。

app/controllers/
    .
    |-- api
    |   `-- v1
    |       |-- api_controller.rb
    |       |-- users_controller.rb
            |-- companies_controller.rb
    |-- application_controller.rb

这是控制器的样子:

的应用程序/控制器/ API / V1 / api_controller.rb

module Api::V1
  class ApiController < ApplicationController
    #API stuff here
  end
end

的应用程序/控制器/ API / V1 / users_controller.rb

module Api::V1
  class UsersController < ApiController

    # POST /v1/users
    def create
      your code goes here
    end

  end
end

API路线

routes.rb

    namespace :api, defaults: {format: :json} do
      namespace :v1 do
        resources :users
      end
    end

用户索引操作的API网址,仅为示例

http://localhost:3000/api/v1/users.json