Nous avons résumé les étapes pour créer une API en utilisant le mode API de Rails.
$ rails new api-task --api
Vous pouvez créer une application en mode API en ajoutant --api à la fin de la nouvelle commande des rails normaux. (Par défaut, les pièces non nécessaires pour l'API ne seront pas créées.)
Créez des modèles et des contrôleurs comme une application Rails classique.
rails g model category name:string
rails g model idea category_id:bigint body:text
$ rails db:create
$ rake db:migrate
En créant un espace de noms avec la version indiquée ci-dessous depuis le début, la gestion de la future version de l'API sera plus facile.
config/routes.rb
Rails.application.routes.draw do
namespace 'api' do
namespace 'v1' do
resources :posts
end
end
end
La structure des répertoires est la suivante en fonction de l'espace de noms défini dans la racine.
---- controllers
--- api
-- v1
- ideas_controller.rb
- categories_controller.rb
class IdeasController < ApplicationController
def index
@ideas = Idea.all
render json: @ideas
end
def create
@idea = Idea.new(idea_params)
if @idea.save
render json: @idea, status: :created, location: @idea
else
render json: @idea.errors, status: :unprocessable_entity
end
end
private
def idea_params
params.require(:idea).permit(:catagory_id,:body)
end
end
class CategoriesController < ApplicationController
def index
end
def create
@category = Category.new(idea_params)
if @category.save
render json: @category, status: :created, location: @category
else
render json: @category.errors, status: :unprocessable_entity
end
end
private
def category_params
params.require(:category).permit(:name)
end
end
Créez des idées et vérifiez avec un navigateur Get(http://localhost:3000/api/v1/ideas)
S'il est affiché comme ci-dessus, c'est OK! !!
Recommended Posts