お疲れ様です。社員の米本です。
今回は業務で「REST API」をシステムの一部として組み込むことがあり、
概念理解の意味も兼ねて備忘録として残せればと思います。
REST APIとは
REST APIとは、システム同士がインターネット経由で情報をやり取りするための仕組み。
決められたURLに対してリクエストを送ることで、データの取得や登録、更新などを行います。
人が画面を操作しなくてもシステム同士が自動で処理できる点が特徴。
Webで一般的に使われているHTTPを利用しているため、分かりやすく多くのサービスや業務システムで活用されています。
例えば、ChatGPTだったり、X(Twitter)だったりと有名なサービスにも実装されており、画面を操作しなくてもプログラムから直接利用でき、処理の一部として組み込んだりすることが可能。
使用用途
主に以下のような用途があるとのこと。
外部サービスとの連携
自社システムから、外部のWebサービスにアクセスする用途。
(例)天気情報・地図情報・AI機能などを外部サービスから取得し、自社アプリや業務に組み込む等
業務の自動化
人が画面操作で行っていた作業を、プログラムから自動実行できます。
(例)データ登録、更新、集計結果の取得などを定期的に実行する作業等
システム間のデータ連携
社内の複数システム間でデータをやり取りする用途。
(例)販売管理システムのデータを会計システムへ連携する等
スマホアプリ・Webアプリの裏側処理
画面表示の裏で、必要なデータをサーバーから取得するためにREST APIが使われる。
実際の使用例
例えば、外部サービスAからユーザ情報を取得し、とあるデータベースA上にテーブルのレコードとして出力するといった場合、次のような処理を行う。
1.外部サービスAのREST APIに対して以下のコマンドを送信
GET https://api.example.com/users/1232.このリクエストを送ると、外部サービスAのサーバは以下のユーザー情報をJSON形式で返す。
{
"id": 123,
"name": "Taro",
"email": "taro@example.com"
}3.このJSON形式で帰ってきた情報を、データベースAが読み込める場所(Amazon S3等)にJSONファイルとして出力する。
4.JSONファイルをデータベースAで読み込んで、データベースA上のテーブルのレコードとしてINSERTする。
まとめ
要は複数のアプリケーションをつなげるための窓口がREST APIだとのこと。
人力でポチポチやるのにも限界があると思うので、システムに組み込んで自動化はすべきですよね。
慣れないうちはそのシステム自体を作るのが大変そうではありますが…