面接対策

Web APIとREST

Web API とは

API(Application Programming Interface)とはソフトウェアコンポーネントの外部インターフェース。機能はわかっているけど、その中身の具体的な処理は知らない機能の塊を外部から呼び出すための仕様。

Web API は「HTTPプロトコルを利用してネットワーク越しに呼び出すAPI」
プロトコルとしてHTTPを使うためエンドポイントはURIで指定する。

メモ

歴史を振り返ると色々なWeb APIがあるが、現在は、URI にアクセスするとJSONを返す「JSON over HTTP」のことを指して Web API と言われることが多い。

REST

Representational State Transferの略で REST

RESTは仕様策定されたものではなくて、Web API を作るときのルールセット、ガイドライン、設計原則のようなもの。

RESTに沿って作られたWeb API を RESTful APIと呼ぶ。

RESTful APIの特徴・原則は

  1. URIを使用してリソースを識別し、リソースにアクセスする
    • リソースは名詞でグループ化する(/users )。動詞は✕(/getUsers)
  2. HTTPメソッド(GET、POST、PUT、DELETEなど)を使用してリソースを作成、取得、更新、削除する
    • ユ−ザー作成 POST /users
    • ユーザー取得 GET /users or GET /users/:id
    • ユーザー更新 PUT /users/:id
    • ユーザー削除 DELETE /users/:id
  3. APIの結果はHTTPステータスコードで表す
    • 200系→成功
    • 400系→リクエストorリソースの状態が何か悪い
    • 500系→サーバーで何か異常が発生した
  4. クライアントとサーバー間の通信が状態を持たない状態で行う(ステートレス)
    • 全てのリクエスト/レスポンスは独立しているべき
    • この原則のため、RESTful API はシンプル、スケーラビリティが高いと言われる

参考

イチオシ記事

1

自己紹介 フリーランスエンジニアをしているヨノと申します。 独学でプログラミングを学び、ソシャゲ・SaaS開発などを経て、2018年からフリーランスエンジニアとして活動しています。 主にバックエンド中 ...

2

はじめまして、フリーランスエンジニアのヨノと申します。 自己紹介 独学でプログラミングを学び、ソシャゲ・SaaS開発などを経て、2018年からフリーランスエンジニアとして活動しています。 主にバックエ ...

3

ネット上で色々言われているフリーランスエンジニア....。「本当はどうなの?」と思っている人は多いでしょう。 そこで本記事ではフリーランスエンジニア5年生の私が、ネット上の意見も引用しながら実態を解説 ...

-面接対策