API Rails

introduction

Nous avons résumé les étapes pour créer une API en utilisant le mode API de Rails.

procédure

  1. Créez une application Rails en mode API
  2. Création d'un contrôleur de modèle
  3. Nommer les paramètres de routage tenant compte de l'espace
  4. Paramètres du contrôleur
  5. Vérifiez avec un navigateur

Créer une application Rails en mode API

$ 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éer un contrôleur de modèle

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

Paramètres de routage prenant en charge l'espace de nom

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

Paramètres du contrôleur

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

スクリーンショット 2020-11-10 20.29.40.png

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

Vérifier avec le navigateur

Créez des idées et vérifiez avec un navigateur Get(http://localhost:3000/api/v1/ideas)

スクリーンショット 2020-11-12 11.03.30.png

S'il est affiché comme ci-dessus, c'est OK! !!

Recommended Posts

API Rails
[Rails g. Erreur]
Notions de base sur les rails
Rails Examen 1
Migration des rails
Appeler l'API [Appel]
[Rails] first_or_initialize
rails tutry
À propos des rails 6
[Rails 6] Développement d'API à l'aide de GraphQL (Query)
[Rails] Utiliser des cookies en mode API
Fondation Rails
Mémorandum Rails
tutoriel sur les rails
rails tutry
tutoriel sur les rails
[Rails] concevoir
rails tutry
tutoriel sur les rails
Conseils de rails
méthode des rails
tutoriel sur les rails
Rails Revue 2
Construction de l'environnement du serveur API Rails à l'aide de docker-compose
[Rails] Recherche de livres avec l'API Amazon PA
Rails CSV Basic
Nuxt.js × Créer une application en mode API Rails
Appeler l'API [Préparation]
Rails6 jQuery introduit
Mémo API Stream
À propos du routage des rails
Principes de base du routage des rails
Ajout de binding.pry (rails)
Principes de base de la base de données Rails
Restrictions d'accès aux rails
Rails et données de forme
tutoriel rails Chapitre 6
Test du tutoriel sur les rails
Les rails rendent redirect_to
[Rails] Fonction préférée
Problème d'API ruby
[Rails] À propos des conventions de dénomination
Principes de base de l'enregistreur de rails
[Rails] Présentation de jquery
Message Flash Rails
Vent arrière sur les rails
tutoriel rails Chapitre 1
Méthode de délégué Rails
Appeler l'API [Handling]