🚀 ニフティ’s Notion

🌞 【Webアプリ2024 #7】APIとは

API(Application Programming Interface)とは

ソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様である。

引用: https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9

ソフトウェアと何らかの機能との界面のことで、ソフトウェアの機能を共有できる仕組みのことをAPIといいます。

APIと聞くとWebのAPIを想像しますが、APIという言葉だけでは仕組みのことを指すため、OSのAPIやデバイスドライバのAPI、グラフィックAPIなども含んでいます。ただし、現場では仕組みだけではなく、実際に利用可能なAPIエンドポイントまでを示すことが多く、基本的にAPIという言葉はWebAPIのエンドポイントのことを指して使うことが多いです。

ℹ️
APIエンドポイントとは
API に アクセスするための URI を指します。
ℹ️
URIとは
名前または場所を識別する書き方のルールの総称を指します。URLとURNの総称がURIです。
  • URL:URIの一部で、ページや画像などを取得したりするための主要な場所とアクセス方法を指定
  • URN:名前を永続的に識別する書き方のルール。(今回の講義では覚えなくて良いです)
エンドポイント

連携したいAPIにアクセスするための接続先を指します

エンドポイント例: https://api.example.com/v1/users/

Web API

Webアプリケーションが他のアプリケーションと通信・連携するための標準的なインターフェースのこと。異なるアプリケーションの間でデータやプログラムの機能をサービスとして活用できるよう規約や手順が定義されています。

Web API の種類

REST (Representational State Transfer)API

  • HTTPプロトコルを使用するAPIの中で、現在REST APIは最も汎用的に使用されているAPI
  • REST APIは、HTTPプロトコルを使用して通信を行い、一般的にJSONまたはXML形式でデータ

GraphQL

REST以外にGraphQLというものがあります。

GraphQLではクライアントはデータの必要な部分だけをリクエストできることが特徴。

レスポンスの形式

  • RESTful API: レスポンスはHTTPステータスコードとレスポンスボディで構成され、レスポンスボディはJSON、XML、HTMLなどの形式で返される。
  • GraphQL: レスポンスはGraphQLスキーマに基づいて構成され、JSON形式で返される。クライアントが必要なデータのみを指定するため、不要なデータが返されない。

ルーティング

  • RESTful: エンドポイントごとにリソースへのアクセス方法が異なるURIを使用してリクエストを処理する。
  • GraphQL: 単一のエンドポイントで、クライアントから必要なデータを取得するためにGraphQLクエリを使用する。