1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

この記事は、株式会社スピードリンクジャパン Advent Calendar 2024 の24日目の記事です。

こんにちは!
今回はAPIについてと、実際にAPIを作ってみてという内容になります。
僕自身も初めてAPIを作成してみたので、温かい目で見ていただけると幸いです!
では、いきましょう!

タイトルなし.gif

APIってなんすか?

API(Application Programming Interface)は、異なるソフトウェア同士が互いに通信するためのインターフェースです。簡単に言うと、APIは「他のシステムやサービスとやりとりをするためのルールや手段」を提供します。

例えば、あるアプリケーションが他のアプリケーションのデータを取得したい場合、そのやりとりをするためにAPIを使います。

APIが必要な理由

異なるシステムや言語間でのデータや機能の共有
サービスを拡張するために他のアプリケーションと連携する
自動化や統合を進めるためにAPIを利用する

※以下の記事を参考とさせていただきました!
実際に詳しい内容が書かれているので、気になった方はチェック!↓

APIの種類は?

REST API(Representational State Transfer)

最も一般的に使用されるAPIの種類です。
HTTPメソッド(GET, POST, PUT, DELETE)を使ってデータを操作します。
RESTfulなAPIは、ステートレスで、リソースベースで設計されます。

SOAP API(Simple Object Access Protocol)

XMLベースでメッセージをやりとりします。
セキュリティやトランザクション管理などの高度な機能を持っていますが、RESTよりも設定が複雑です。

GraphQL API

データをクエリとして取得できるAPI。
クライアント側が必要なデータだけを要求できるので、効率的にデータを取得できます。

WebSocket API

双方向通信を可能にするAPI。
リアルタイムでデータをやりとりするため、チャットアプリやライブアップデートなどで使用されます。

実際に作成してみた手順

こちらの記事を参考に実際にRailsでAPIを作成してみました!
私自身が下記の記事を参考に簡単に説明させていただきます。

モデルを作成します

rails g model vegetables name:string place_of_birth:string   

seeds.rbに仮のデータを作成します。

vegetables = [
  ["キャベツ", "長野県"],
  ["トマト", "熊本県"],
  ["きゅうり", "宮崎県"],
  ["ナス", "高知県"],
  ["ほうれん草", "埼玉県"]
]

vegetables.each do |name, place_of_birth|
  Vegetable.create(name:, place_of_birth:)
end

データを挿入します。

rails db:seed

ルーティングの設定

  resources :vegetables, only: :index

コントローラーの作成・記述
コマンドを生成

rails g controller vegetables

コントローラーに記述

  def index
    vegetables = Vegetable.all
    render status: 200, json: { vegetables: }
  end

アクセスする

rails s

mmm_1.gif

上記のように、JSON形式で入れたデータたちが帰ってきました!
このようになれば、成功らしいです!

APIを作ってできること

データの公開と共有
APIを作ることで、内部で管理しているデータを外部のサービスやアプリケーションと共有できます。例えば、作成したAPIを使って、自社アプリやWebサービスをリアルタイムで表示する機能を実装できます。

モバイルアプリとの連携
作成したAPIを利用すれば、モバイルアプリからも同じデータにアクセスできるようになります。これにより、Webサイトやモバイルアプリで統一されたデータ表示が可能になります。

外部サービスとの連携
他のサービスやアプリケーションと連携しやすくなります。例えば、自社データを外部の分析ツールに送ったり、SNSに自動投稿する仕組みを構築できます。

業務の効率化と自動化
APIを通じて定期的にデータを取得したり更新したりすることで、手動作業を減らし、自動化することができます。たとえば、倉庫の在庫情報をAPI経由で他システムと同期させることで、作業を効率化できます。

リアルタイムなデータ提供
REST APIを利用することで、ユーザーが必要なときに最新のデータを提供できるようになります。例えば、新しい野菜の情報が追加された場合、APIを通じてすぐにデータを反映できます。

最後に

いかがでしたか?
今回改めて、APIを作ってみたり、調べたりすることで実際に自分で作成したAPIを使ってアプリやシステムを作成してみたいなと思いました。
では、また次の記事で〜!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?