3
1

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.

WebAPI(REST)について

Last updated at Posted at 2023-07-17

お疲れ様です。Chamujiです。
今回はRESTAPIについて学習したことを備忘録として残そうかと思います。

WebAPIについて

HTTP・HTTPS通信によってやり取りするAPIのこと

プログラミング言語が異なるアプリケーション同士であっても連携できる他、Webブラウザでも利用可能

思想設計

今回RESTAPIについて話をするが、私は最初RESTAPIという種類のAPIが存在するのだと思っていた。
実際はそうではなく、RESTはAPIの設計の思想であることが分かった。マジで赤面。

REST API (RESTFul API)

  • REpresentational State Transferの略称
    • REpresental: 具象化された
    • State:状態
    • Transfer:転送

翻訳すると、具象化された状態を転送するAPIとなる。。。。
余計わからなくなったのでもう少し深掘りする。

RESTの4原則

  • HTTPを設計した中心人物であるRoy Fielding氏が2000年に提唱したもので下記の4つがあげられる。
アドレス可能性
(Addressablity)
全てのリソースが一意なURLを持っている
(提供するリソースは全てURIで表現できる)
ステートレス性
(Stateless)
セッション管理や状態管理などはしない
(情報を保持せずやり取りは1回ごとに完結する)
接続性
(Connectable)
やり取りされる情報に別のリンク(ハイパーリンク)を含めることができる
1つのリンクから別の情報にリンク(接続)することができて、RESTfulなシステム同士なら円滑に情報連携を行うことができる
統一インターフェース
(Uniform Interface)
リソースの操作(取得、作成、更新、削除)はHTTPメソッド(GET、POST、PUT、DELETE)を利用し、結果はXMLやHTML、JSONなどで返されるといったルールで値を返す

上記4点を満たすものをRESTAPIやRESTFULAPIと呼んだりする。

スクリーンショット 2023-07-17 18.02.03.png
引用:https://tech.012grp.co.jp/entry/rest_api_basics

RESTのメリット

モバイルアプリなどの他システムとの連携が容易になる
HTTPリクエストに対し、JSON形式やXML形式といった、軽量のデータのみを返すため、加工が容易で、通信環境が悪い場所であっても「待機時間が長くなる」や「操作性が低くなる」といった不具合が起こりづらくなります。

アプリケーションの中のリソースが容易にわかる
アドレス欄に入力すれば、そのリソースを参照できるため、どのリソースを操作しようとしているかがひと目でわかる。

標準的なAPIの提供
RESTの思想に基づいたAPIを公開することで、標準的なデータフォーマットを使い、多様なアプリケーションを提供することができる。

RESTのデメリット

実装ルールの統一性がない
実装ルールに統一性がないため、「十分に理解しないまま作られた、あやふやなRESTful APIが増えている」という弊害も生じる。

仕様や定義に関する要素がない
ドキュメントと実装したときの乖離が発生しやすくなり、外部プログラムが動作を読み取ったり、想定したりすることができないというデメリットが生じる場合がある。

まとめ

次回はもう少しRESTについて説明を記載する。

参考文献

REST APIとは?ざっくりと理解してみる【初心者向け】
https://tech.012grp.co.jp/entry/rest_api_basics

API・Web API・REST APIの概要や違いについて整理する
https://mintaku-blog.net/api-difference/

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?