Wir haben die Schritte zum Erstellen einer API im API-Modus von Rails zusammengefasst.
$ rails new api-task --api
Sie können eine App im API-Modus erstellen, indem Sie --api am Ende des neuen Befehls "Rails New" hinzufügen. (Standardmäßig werden keine Teile erstellt, die für die API nicht benötigt werden.)
Erstellen Sie Modelle und Controller wie eine normale Rails-App.
rails g model category name:string
rails g model idea category_id:bigint body:text
$ rails db:create
$ rake db:migrate
Indem Sie von Anfang an einen Namespace mit der unten gezeigten Version erstellen, wird die zukünftige API-Versionsverwaltung einfacher.
config/routes.rb
Rails.application.routes.draw do
namespace 'api' do
namespace 'v1' do
resources :posts
end
end
end
Die Verzeichnisstruktur ist gemäß dem im Stammverzeichnis festgelegten Namespace wie folgt.
---- 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
Erstellen Sie einige Ideen und überprüfen Sie mit einem Browser Get(http://localhost:3000/api/v1/ideas)
Wenn es wie oben angezeigt wird, ist es OK! !!
Recommended Posts