Web API の目的と技術要素 ④Web API の実例

by 杉本和也 | 2024年10月31日 | 最終更新日:2024年10月31日

Web APIの目的と技術要素 ④Web APIの実例

※本記事は Software Design 2022年8月号 Web API 特集 「第1章:Web API の目的と技術要素」の記事を再編集したものです。以下の章に分けて公開しています。

それでは実際に公開されているWeb API へリクエストを実行して、Web API の一端を体感してみましょう。

今回はあまり言語や環境に縛られないよう、Postman というAPI テスト・検証用のツールを用いた方法でWeb API を触ってみます。

Web API を手軽に試せるサービスやソフトウェア

まず、筆者がお勧めするWeb API を手軽に検証できるサービスを紹介します。REST APIが体感しやすく、かつ開発環境などの環境構成が安易という点で3つピックアップしました。

1. Postman Echo

今回利用するツールの開発元であるPostman社が提供する、Web API リクエストを検証するためのWeb API です。

さまざまなHTTP メソッドやクエリパラメータ、リクエストボディ、認証などを手軽にテストできるAPI エンドポイントが提供されています。レスポンスにAPI としての整合性を確認できる内容が含まれている、Echo スタイルなAPI になっています。

https://learning.postman.com/docs/developer/echo-api/

2. 会計 freee API

無料から利用できる会計ソフトのfreee が提供するWeb API です。

開発用の環境が無料で取得できることに加えて、OpenAPI が公開されており、Java やC#・ PHP などの各プログラミング言語向けのSDK も充実していることが特徴です。

https://developer.freee.co.jp/

3. CData API Server

CData Software 社が提供する、RDB やExcel からWeb API を自動生成するソフトウェアです。

任意のRDB のテーブルから自動的にREST API が生成できることに加えて、生成したAPIのドキュメントやOpenAPI も提供していることが特徴です。30日間のトライアル環境が提供されているため、自身のデスクトップマシンなどへ任意のRDB と一緒にインストールし、Web API を作成して、リクエストを試してみることが可能です。

https://www.cdata.com/jp/apiserver/

Postman を使ってWeb API リクエストを行ってみる

今回は環境構築不要で手軽に利用できるPostman Echo を使って実際のWeb API リクエストを体験してみます。

Web API リクエストには、本節の冒頭でも紹介したPostman を使用します。

Postman はWeb サイト(https://www.postman.com/downloads/)から任意のプラットフォームでダウンロードとセットアップを行っておいてください。

Postman を立ち上げたら、さっそくWeb API リクエストを発行してみましょう。

[File]→[New]から[HTTP Request]を選択します。ここで、Web API のリクエストを検証することができます。Postman ではWeb API のための必要なエレメント、HTTP メソッド、URL、クエリパラメータ、ヘッダ、ボディなどをGUI 上で入力して検証できます。1

たとえばGETリクエストとして、「https://postman-echo.com/get?foo1=bar1&foo2=bar2」 にリクエストを送ってみましょう。図4①の欄にURL を入力後、図4②の[Send]ボタンをクリックすることでWeb API のリクエストが実行できます。

▼図4 Postman上でGETリクエストを実行

Postman上でGETリクエストを実行

今回は「/get」というリソースに対して、「?foo1=bar1&foo2=bar2」という2つのクエリパラメータを記述してリクエストしています。

このリクエストが正しければ、結果として図4③のようなJSON フォーマットのレスポンスが取得できます。

続いて、POST リクエストも試してみましょう。 HTTP メソッドでPOST を選択し、URL を「https://postman-echo.com/post」に変更します(P.29の図5①)。併せてBody タブ(図5②) で[raw]と[JSON]を選択し、次のJSON を入力してリクエストを送ります。

{

    "title":"Hello World"

}

レスポンスにこのJSON のデータが含まれていればOKです(図5③)。POST リクエストを実行することができました。

▼図5 Postman上でPOSTリクエストを実行

Postman上でPOSTリクエストを実行

なお、Postman ではCode Snippet という機能が付属しており、さまざまなプログラミング言語によるWeb API リクエストのサンプルコードを手軽に取得できます(図6)。ここでcURL でのリクエスト方法も取得できますし、みなさんが普段使い慣れている任意のプログラミング言語で試してもらってもかまいません。

▼図6 Code Snippet機能で、cURLによるリクエストのコードスニペットを取得

Code Snippet機能で、cURLによるリクエストのコードスニペットを取得

このようにPostman を利用することでWeb API のリクエストに必要なエレメント、HTTP メソッド、URL、クエリパラメータ、ヘッダ、ボディなどを意識しながら、手軽に試すことができます。

まとめ

本記事では、Web API の概念をはじめとして、昨今のWeb API の重要性および技術要素を紹介しました。また、私たちが今Web API を開発・提供するうえでどういったことを意識することが重要なのかを、簡単なリクエスト/レスポンスを体験してもらいながらお伝えしました。

Microsoft 社のサティア・ナデラが2018年に都内で行った講演で「すべての企業がソフトウェア会社に」と語りました。Web サイトを持たない企業がほとんど存在しないように、もはやテクノロジを通じてサービスを提供しない会社はいないといっても過言ではないでしょう。Web API に関しても同じことが言えると筆者は考えます。

https://xtech.nikkei.com/atcl/nxt/news/18/03240/

「Web API が求められる背景」節でお伝えしたように、私たちは今後誰もが「Web API Provider」であり、「Web API Consumer」になり得るでしょう。

そのとき、提供者だけでなく利用者の視点も意識して「どのようにWeb API を作るのか?」「何を意識して、どのような技術要素を、アプローチを用いて作るのか?」、つまりUX と同じようにWeb API を利用する開発者のためのエクスペリエンス、DX(Developer Experience)を考えることがますます重要になるでしょう。

トライアル・お問い合わせ

関連コンテンツ