APIとは何ですか? ROR で API を使用する理由
APIとはアプリケーション・プログラミング・インターフェースのこと。内部と外部のインターフェイスであり、外部はコードを使用して内部と相互作用する。つまり、内部とはサーバーであったり、携帯電話やiPadのようなデバイスであったり、Ruby on RailsやJQueryのようなソフトウェア・ライブラリであったりする。
APIはアプリケーションのコンポーネントとして構築される。基本的に、データをサーバーに保存して処理し、必要に応じて他のアプリケーション(ウェブアプリケーション、モバイルアプリケーション、iOSデバイスなど)がそのサーバーにデータを要求したり取得したりするためには、ウェブAPIが必要です。これらの他のアプリケーションは、あなたのシステムの一部であることもできるし、他の人が使えるようにデータを公開することもできる。
API を構築する利点
カスタマイズされた UI を構築するために、フロントエンドを Angular JS、Ember JS、またはその他の一般的なクライアント フレームワークに分割できます。
利点:
- 柔軟性が高い
- メンテナンスコストの削減
- より高い拡張性
- シンプルさ
- API 開発により、他のユーザー インターフェイスを簡単に統合することもできるため、時間を大幅に節約できます。
APIを構築するデメリット
- コーダーは冗長な情報を含むメッセージを繰り返し送信するため、帯域幅が増加します。
- 無視できる遅延
- ヘッダーの使用は不器用で、API を HTTP レスポンスに結び付けます。
RailsのREST API
Web.で開発されたHadoopのためのRepresentational State Transfer規約は、Webのためのソフトウェア・アーキテクチャ・スタイルである。このアーキテクチャは、いくつかのエンドポイントを通じてデータを柔軟に取得するために使用される。HTTPプロトコル上で動作する。
APIリクエストはどのように行うのですか?
url = http, ホスト名, url
例:URL-https://portal.ehealthpro.com/blogs
プロトコル・サーバーURL
各リソースには2つのURIがあり、1つはリストのコレクションを表す、 https://portal.ehealthpro.com/blogs を表し、もう一方はアイテムを表す。 https://portal.ehealthpro.com/blogs/12
APIを構築するには、"gem rails-api "というGemを使います。
https://github.com/rails-api/rails-api、一般的にAPIは統一資源識別子(URI)とHTTPSに応答する必要がある。だから
ルートで
名前空間
RailsジェネレータはUserscontrollerと関連するroutesの仕様を作成します。上記のルートでは、routes.rbファイルの下に名前空間を定義することで、Railsは自動的にその名前空間をcontrollersフォルダ、api/ディレクトリの下の名前を調整するインデックスにマッピングします。また、レスポンスはJSON形式で返されるので、この形式をデフォルトとして指定するだけです。サブドメインの下にAPIを設定することで、アプリケーションをDNSレベルにエスカレートさせることができます。
また、pathオプションは、サブドメインに関連するすべてのリクエストの開始パスをrootに設定します。
バージョン管理
アプリケーションのバージョンを設定することで、APIに基本的な構造を持たせることができ、また、変更が必要になったときに、古い機能が非推奨になる一方で、新しい機能に対応する機会を開発者に与えることができる。APIのバージョンを設定するには、まず、作成したAPIの下に "v1 "という別のディレクトリを追加する必要がある。
スコープモジュール: :v1、
制約:ApiConstraints.new(version: 1, default: true) do
………
終了
コントローラーの生成
Userコントローラを生成するコマンド。rails generate controller API:: v1::users
技術的には、JSONは軽量なデータ交換フォーマットで、名前と値のペアの集まりです。さまざまな言語で、これはオブジェクト、レコード、構造体、辞書、ハッシュテーブル、キー付きリスト、連想配列として実現されます。
railsには、JSONレスポンスを実装するためのActive model serializerというgemがあります。このgemを使うことで、JSONの適切なフォーマットを得ることができます。
Active Model Serializer はオブジェクト指向のアプローチを使って JSON レスポンスを構築する素晴らしい方法です。オブジェクトは、ActiveModel オブジェクトの属性やリレーションシップの設定と非常によく似ています。また、どのようなタイプの JSON 構造が生成されるかを決定するためにコネクターを選択したり、独自に構築することもできます。
HTTPステータスコードとは、そのレスポンスがエラーを示しているか否かを、一律に相手に伝えるためのものである。
そして、いくつかのステータスコードは以下の通りである、
200 - OK , ゲット成功
204 - 内容なし、削除または投稿に成功
201 - 作成 - 投稿成功
422 - 処理不可能なエンティティ
401- 認証不能、認証失敗
安全
APIアプリケーションのセキュリティ上の理由から、HTTPSを使用することができる、
Rails.application.configure do
config.force_ssl = true
終わり
最後に、API をテストします。
コマンドライン: - curl または htttpie
ブラウザ- Postman、JSON-Formatter
Rspec :-要求仕様
Rails Minitest :- 統合テスト
レールカーマ 過去 8 年間、Ruby on Rails の開発およびコンサルティング サービスを提供してきました。当社の開発者は、あらゆる種類の開発に精通しています。 Ruby on Railsの開発作業 あらゆる種類のプロジェクトを処理します。 お問い合わせ 当社の開発スキルと当社が対応できるプロジェクトについて詳しく知るため。