1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

APIとは?全体の流れを紹介

Posted at

API(Application Programming Interface)とは?

APIは、異なるソフトウェア間でデータを交換するためのインターフェースです。ウェブのコンテキストでは、APIは通常、ウェブサーバー上で実行され、HTTPを介してリクエストを受け取り、データを返します。

全体像

  • クライアント: データを要求する側。例:ウェブブラウザ、モバイルアプリ。
  • APIエンドポイント: サーバー上の特定のURL。このURLにリクエストを送ることで、特定の機能やデータを要求することができます。
  • サーバー: APIのエンドポイントをホストしているコンピュータ。データベースや他のリソースにアクセスして、クライアントの要求に応じてデータを返します。
  • データベース: ユーザーデータや他の情報を保存している場所。サーバーはここからデータを取得してクライアントに返します。

ユーザーデータ取得APIを呼び出す流れ

  1. クライアントのリクエスト

    • ウェブページ、モバイルアプリ、または他のクライアントアプリケーションから、特定のユーザーのデータを取得したいというリクエストが発生します。
  2. HTTPリクエストの送信

    • クライアントはAPIのエンドポイント(URL)にHTTPリクエストを送信します。
    • クライアント側(フロントエンド)コード例
// JavaScriptでfetch APIを使用してデータを取得する例です。
fetch('https://api.example.com/users/1') // 1番のユーザーのデータをリクエストします。
  .then(response => response.json()) // レスポンスをJSON形式で解析します。
  .then(data => console.log(data)) // データをコンソールに表示します。
  .catch(error => console.error('エラーが発生しました:', error)); // エラーが発生した場合、エラーを表示します。
  1. サーバーでの処理
    • ウェブサーバーは受け取ったリクエストを解析し、データベースや他のリソースから必要なデータを取得します。

    • サーバ側(バックエンド)コード例
      以下は、Expressを使用したNode.jsのサンプルコードです。実際のバックエンドは、データベースや他のサービスからデータを取得します。

const express = require('express');
const app = express();
const port = 3000;

// ユーザーデータの例
const user = {
  id: 1,
  name: 'John Doe',
  email: 'john.doe@example.com'
};

// /users/1へのGETリクエストに対するレスポンスです。
app.get('/users/1', (req, res) => {
  res.json(user); // ユーザーデータをJSON形式で返します。
});

app.listen(port, () => {
  console.log(`サーバーがポート${port}で起動しました`);
});
  1. データの返送

    • サーバーは取得したデータをJSONやXMLなどの形式でクライアントに返します。
  2. クライアントでのデータの処理

    • クライアントは返ってきたデータを受け取り、適切に表示や処理を行います。

APIの流れの全体像

  1. クライアント(例:ウェブブラウザ)は、特定のURL(例:https://api.example.com/users/1)に対してHTTPリクエストを行い、APIを呼び出します。
  2. サーバ(例:ウェブサーバ)は、そのリクエストを受け取り、対応するデータを検索・取得します(例:データベースからユーザーデータを取得)。
  3. サーバは、取得したデータをJSON形式などでクライアントにレスポンスとして返します。
  4. クライアントは、レスポンスを受け取り、データを利用して何らかの処理や表示を行います。

この一連の流れにおいて、クライアントとサーバは通常、HTTPプロトコルを利用して通信します。そして、APIとは、クライアントとサーバが互いにデータをやり取りするための「インターフェース」です。

1
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?