LoginSignup
2
3

More than 1 year has passed since last update.

APIとは

Last updated at Posted at 2022-07-22

APIとは?

いきなりだが、最近「ユニコーンに乗って」というドラマが面白くて毎週観ている。

毎週火曜日、時間になったらソファーに座ってテレビをつけ、リモコンでテレビをドラマのチャンネルにする。こうしてことで好きなドラマを観ることができる。
この過程を絵で表現してみると以下のよう。
tv.png

ここでリモコンやテレビは人間と放送局をつないでくれる。
APIはまさにリモコンやテレビのような役をする。


本題に戻り、話しましょう。

Webサービスには、会員登録、ログイン、イメージやつぶやきの投稿、商品購入、写真や動画の視聴などいろいろな機能があります。
このような人のいろんな要求を受けて処理してくれるのがサーバーであるが、人間の言語とコンピュータの言語は異なるため、APIが中間で対話のルールを定め、相互間の要求応答(Request and Response)を制御してくれる。
つまり、API(Application Programming Interface)は、アプリケーションをプログラミングするために使用される約束だと定義できる。




REST(Representational State Transfer) API

このようにAPIはプログラミングで不可欠な役割を果たしたが、共通する規則がなかったため、ユーザーがそれぞれ作成した規則に頼るしかなかった。そこで共通規則の必要により登場したのがRESTである。
REST APIの最大の特徴は、「Represent」が「表現する」という意味であるかのように要求する内容を見るだけで、クライアントが何を要求しているのか直感的に理解できる。下のURIのように。
https://www.nikkansports.com/baseball/news/

そして、そういうREST規約をよく守って作られたAPIをRESTful APIという。


REST APIを設計する時重要な2つの項目
  • URIを介してアクセスしたいリソースがどこにあるかを表さないといけない
  • リソースへの要求はHTTPメソッドでする 
RESTの構成要素
  • リソース(資源)
    クライアントがサーバーに要求するもので、Webサーバーが管理する全てのことを表す。固有のアドレスを指定し、識別できる。
  • メソッド(行為)
    リソースにアクセスするためHTTPメソッドを使用する。もっといろいろあるが、よく使われるメソッドは、以下の通り。
メソッド名 CRUDで言うと 実例
POST Create 掲示板に投稿
GET Read 投稿を読む
PUT Update 投稿の編集
DELETE Delete 投稿を削除
※POSTは複数のリソースに対しても実行できる反面、PUTは1つのリソースに対してのみ実行できる。
  • Representation(表現)
    クライアントがメソッドでリソースを要求すると、サーバーはそれを処理し、応答する過程。
2
3
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
2
3