REST API


💡 REST APIとは?

  • Representation State Transferの略
  • 構成
    ✓リソース(リソース):URI
    ✓動作(Verb):HTTPメソッド
    ✓Representations
  • RESTはURIによってリソースを表示し,HTTPメソッドを用いてリソースの挙動を定義する.
    その結果を得ること.

    🔥 REST APIは、Webで使用されるデータまたはリソースをHTTP URIとして表し、HTTPプロトコルによって要求および応答を定義する。


    HTTPメソッドは主にGET,POST,PUT,DELETEがある.
    通常、CRUDでは、クエリはGET、登録はPOST、修正はPUT、削除はDELETEを使用します.
    GETとDELETEの挙動は比較的明確であるが,POSTとPUTを区別するためにはべき乗等性の概念を知る必要がある.

    💡 べき乗等性とは?

  • は,同一要求の1回の送信と複数回の連続送信が同じ効果を有し,サーバ状態が同じであると同時に対応するHTTPメソッドが「べき乗等性」を有することを示す.
  • 例えば
  • HTTPメソッドでは、GET、PUT、DELETEは同じパスで複数回呼び出すことができ、結果は同じである.
    しかし、POSTは各コールに新しいデータを追加します.
    したがって,POST演算の結果は単調ではなく,PUT繰返し実行の結果も単調である.

  • PUT vs PATCH


  • PUTとPATCHは共にデータを修正する共通点がある

  • でも違いがあるなら
    ✓PUT:すべてのリソースを更新する必要がある
    PUT要求時に要求の一部のみが送信された場合、原則として残りの部分をデフォルト値に変更するため、変更しないすべての属性も送信する必要があります.
    (すべてではなく一部のみが渡される場合は、渡されたフィールドを除いてnullまたはdefault値として処理されることに注意してください.)
    ✓PATCH:一部のリソースを更新する
    PATCHリクエストでは、更新が必要なデータを送信するだけで値を変更できます.
  • ex)
  • には、次のデータがあります.
  • PUT
  • PUT/members/1
  • {
    name : "홍길동",
    
    age : 19,
    
    gender : "M"
    }
    に変更

    今回は年齢や性別以外の要望です.
  • PUT/members/1
  • {
    name : "김길순"
    }

    送信されていない値がNULLになります
  • PATCH
  • PATCH /members/1
  • {
    name : "김길순"
    }

    既存のデータを保持し、送信された値のみを変更