API は、アプリケーション プログラム インターフェイスの略語で、ソフトウェア アプリケーションを構築するための一連のプラクティス、プロトコル、およびツールです。場合によっては、Web アプリケーションにサードパーティの統合が必要になることがあります。それを実現するのは REST API で簡単です。 Rest API の利点は言語に依存しません。
REST (REpresentational State Transfer) は、HTTPS または TLS 上で実行されるシンプルなアーキテクチャです。 REST スタイルは、操作の数を制限することでクライアントとサービス間の対話が強化されることを強調しています。
柔軟性は、リソースを独自の唯一のユニバーサル リソース インジケーター (URI) に割り当てることによって提供されます。各操作 (GET、POST、PUT、および DELETE) には特定の意味があるため、REST では不確実性が回避されます。
単純な REST API を構築します。
ユーザーはアプリケーションを直接操作しないため、API にはビューが必要ありません。サードパーティが送信するデータを指定するだけです。
ここにはビューがないため、表示または編集アクションはありません。すべてのリクエストでは、ステータス コードと成功失敗メッセージを含むデータが返されます。データは、json または xml の形式である場合があります。
要件: gem 'rails-api'
アプリケーションの作成中に、ビュー、アセット/スタイルシート、およびアセット/JavaScriptを回避するために、rails-api 新しい [アプリケーション名] を作成します。
コードをクリーンに保ち、API を他のコントローラーから独立させておくために、API に名前空間を付ける必要があります。まずルートを追加します。
ルート.rb
名前空間:API 実行
リソース:ユーザー
終わり
app/controllers/api/users_controller.rb で UsersController を探します。
クラス api::UsersController < ApplicationController
終わり
皆さんが単純な CRUD 操作に精通していることを願っています。ここでも同じことを行いますが、ビューが表示されないため、代わりにリダイレクトしてステータス コードを含むデータをレンダリングする必要があります。
例の場合。
クラス Api::UsersController < ApplicationController
デフォルトインデックス
@users = User.all
|format| を実行するための応答
format.json { レンダリング json: @users }
format.xml {レンダリング XML: @users }
終わり
終わり間違いなく破壊する
|format| を実行するための応答
@user.destroyの場合
format.json { ヘッド :no_content、ステータス: :正常に削除されました }
format.xml { ヘッド :no_content、ステータス : :正常に削除されました }
それ以外
format.json { レンダリング json: @user.errors、ステータス: :Unable }
format.xml { レンダリング XML: @user.errors、ステータス: :Unable }
終わり
終わり
終わり終わり
このようにして、REST API を構築できます。
新しい機能を追加したり、API に変更を加えたりする必要がある場合は、API のバージョンを作成できます。
APIのバージョン管理
Routes.rb 内
名前空間:API 実行
名前空間:v1 を実行します
リソース:ユーザー
終わり
終わり
UsersController を探します。
app/controllers/api/v1/users_controller.rb
クラス Api::V1::UsersController < ApplicationController
終わり
最後に API ドキュメントをユーザーに提供します
API リクエスト:
ユーザーのリスト表示
URL: http://localhost:3000/api/users
メソッド: GET
ユーザーの削除
URL: http://localhost:3000/api/users/:id
メソッド: 削除
RailsCarma は、10 年以上にわたってハイエンド RoR 開発サービスを提供し、ブランド化され評判の高いグローバル Rails 企業です。すべての RoR サービスに最新の高レベルのソリューションを提供します。
同様の記事を読む: