API

active_model_serializersで同じモデルから出力結果の違う2つのコントローラーを設定する

API

article_serializers.rb class ArticleSerializer < ActiveModel::Serializer attributes :id, :title, :description has_one :region has_many :info_blocks # article has one region, region has one countryの関連を返す。 class RegionSerializer < Act…

active_model_serializersで関連テーブルを扱う

API

テーブル class Country < ApplicationRecord has_many :regions end class Region < ApplicationRecord has_many :articles belongs_to :country end class Article < ApplicationRecord belongs_to :region end gemをインストール gem 'active_model_seria…

APIドキュメントを作成

API

autodocを使用してドキュメントを作成。 gemをインストール。 gem 'autodoc' $ bundle ドキュメントを作成したいテストにautodoc: trueを追加。 RSpec.describe 'Api::V1::Articles', type: :request, autodoc: true do . . . end ドキュメントを生成。 $ AU…

記事のCRUDのAPIを作成

API

ApiKeyによるAPIの認証を実装 - Rails技術ブログの続き。 ①scaffoldでコントローラーを作成。 $ rails g scaffold_controller api::v1::user::articles ②ルーティングを設定。 Rails.application.routes.draw do namespace :api, format: 'json' do namespac…

ApiKeyによるAPIの認証を実装

API

以下の続き。 sorceryでログイン機能のAPIを作成 - Rails技術ブログ ユーザー新規登録機能のAPIを作成 - Rails技術ブログ ①ApiKeyモデルを作成。 $ rails g model ApiKey user:references access_token:string expires_at:datetime class CreateApiKeys < Ac…

ユーザー新規登録機能のAPIを作成

API

※jsonのserializerはfast_jsonapiを使用。 user_serializer.rb class UserSerializer include FastJsonapi::ObjectSerializer has_many :articles attributes :name, :email end article_serializer.rb class ArticleSerializer include FastJsonapi::Object…

sorceryでログイン機能のAPIを作成

API

※jsonのserializerはfast_jsonapiを使用。 user_serializer.rb class UserSerializer include FastJsonapi::ObjectSerializer has_many :articles attributes :name, :email end article_serializer.rb class ArticleSerializer include FastJsonapi::Object…

APIにおけるエラーハンドリング

API

concernsディレクトリにエラー処理ファイルを作成する。 ※concernsは以下のような目的で使われる。 ・複数のコントローラー(モデル)から利用される処理を共通化する。 ・ある特定のまとまった処理を切り出して見通しをよくする。 # controllers/concerns/a…

Fast JSON APIで記事一覧APIと記事詳細APIを作成

API

①gemをインストール。 gem 'fast_jsonapi' ②serializerファイルを作成。 $ rails g serializer Article title contents status $ rails g serializer User name email app配下のserializersディレクトリにファイルが作られる。 ③serializersファイルを設定。…