4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rails-apiを試してみた

4
Last updated at Posted at 2016-03-21

rails5の --api とは少し違うみたいだけど
gemのrails-apiを試してみました。

先ずは
gem install rails-api
します。

次に適当に
$ rails-api new sample_api
します。

create
  create  README.rdoc
  create  Rakefile
  create  config.ru
  create  .gitignore
  create  Gemfile
  create  app
  create  app/controllers/application_controller.rb
  create  app/assets/images/.keep
  create  app/mailers/.keep
  create  app/models/.keep
  create  app/controllers/concerns/.keep
  create  app/models/concerns/.keep
  create  bin
  create  bin/bundle
  create  bin/rails
  create  bin/rake
  create  bin/setup
  create  config
  create  config/routes.rb
  create  config/application.rb
  create  config/environment.rb
  create  config/secrets.yml
  create  config/environments
  create  config/environments/development.rb
  create  config/environments/production.rb
  create  config/environments/test.rb
  create  config/initializers
  create  config/initializers/filter_parameter_logging.rb
  create  config/initializers/secret_token.rb
  create  config/initializers/wrap_parameters.rb
  create  config/locales
  create  config/locales/en.yml
  create  config/boot.rb
  create  config/database.yml
  create  db
  create  db/seeds.rb
  create  lib
  create  lib/tasks
  create  lib/tasks/.keep
  create  lib/assets
  create  lib/assets/.keep
  create  log
  create  log/.keep
  create  public
  create  public/404.html
  create  public/422.html
  create  public/500.html
  create  public/favicon.ico
  create  public/robots.txt
  create  test/fixtures
  create  test/fixtures/.keep
  create  test/controllers
  create  test/controllers/.keep
  create  test/mailers
  create  test/mailers/.keep
  create  test/models
  create  test/models/.keep
  create  test/helpers
  create  test/helpers/.keep
  create  test/integration
  create  test/integration/.keep
  create  test/test_helper.rb
     run  bundle install
	...

おお、
stylesheetsとかviewが生成されていない。

適当にmodel作ります。

$ cd sample_api
$ bin/rails g model User name:string
$ rake db:migrate

次、controller。
バージョンで管理できるようにディレクトリ作ります。
$ bin/rails g controller api/v1/users

app>controllers>api>v1>users_controller.rb
class Api::V1::UsersController < ApplicationController
  def index
    @users = User.all
    render json: @users
  end
end

次、

app>config>routse.rb
Rails.application.routes.draw do
  namespace :api, {format: 'json'} do
    namespace :v1 do
      resources :users
    end
  end
end

確認用にseedでサンプルデータ作ります。

db>seeds.rb
User.create([
  {name: "mammosu まんもす"},
  {name: "Mam Mosu"},
  {name: "ま んもす"}
  ])
$ rake db:seed
$ rails server

ブラウザでhttp://localhost:3000/api/v1/users
もしくはターミナルで

curl "http://localhost:3000/api/v1/users" -X GET

で出来ました。

余計な物が出来無いんですっきりですね。

rails5楽しみです。

参考

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?