RESTful APIとは?

3388 ワード


典型的なAPIシステムを実装するアーキテクチャ
Graphql, SOAP, GRPC, REST,....背中がある.
その中でRESTは?
Representation State Transferの略は、アプリケーション開発のアーキテクチャの1つです.
≪表計算ドキュメント|Hierarchy|oraolap≫:アプリケーションの設計および作成に使用されるスキーマおよびテクノロジーの総称
Web上で使用される様々なリソースをHTTP URIとして表し,その動作をHTTPメソッドとして定義する.
⭐️    リソースの処理方法(HTTP urlとして定義)HTTP Method + Payloadという形で簡潔に表現!!
✔¥基本背景知識2479142
  • URI
    サイト内の特定のリソースの場所を示すユニーク・アドレス
  • .
  • HTTP Method
  • HTTPリクエストの所望の動作を定義する
  • Payload
    HTTP要求からサーバに送信データ(本文にロードデータ)
  • RESTful APIとは?


    これはAPIシステムを実現するアーキテクチャの中で最も広く使用されている形式である.

    問:なぜREST APIをよく使うのですか。

  • の他のシステムに比べて、進入障壁は低い.
  • データメッセージフォーマットも有効です.
  • 情報と通信することができる.
  • の処理はより少ない.すなわち,システムが実装してWeb開発通信を行う場合,より速く通信を行うことができる.
  • Q.RESTful APIの長所と短所


    📍 長所
    self-descriptionsとURIのみを見てもAPIの目的は分かりやすい.
    ex) URI/HTTP Method/Payload , GET/users📍 短所
    規定された基準規定がないので、防備モードで作ることがよくあります.

    RESTful API設計規則

  • URI情報を明確に表現する必要がある.△資源使用名詞.
  • リソースに対する挙動は、HTTPメソッド(GET、POST、PUT、DELETE)として表される.POST/product/1
  • リソース間の関連付け:/リソース/一意ID/リレーショナルリソースEx) GET delete/user/1 -> DELETE /users/1
  • ファイルの場合、URIにはファイル拡張子は含まれません.Ex) GET/users/{user_id}/profile
  • URIは、Ex) GET users/1/profile-photo.jpg ❌区切り記号を使用してリソースの階層関係を表す.
  • URIの最後の文字で、/は含まれません.
  • URIの延長が避けられない場合、
  • を使用して可読性が向上する.
  • underbar /は使用しません.
  • URIパスは大文字の使用を避けることを規定しています.
  • Path Parameter


    GET http://10.58.4.1:8000/products
    {
      "results": [
        {
          "id": 1,
          "name": "무농약 깐 생강"
          "price: "3000원"
        }, 
        {
          "id": 2,
          "name": "새우깡"
          "price: "1000원"
        }, 
        {
          "id": 3,
          "name": "사과"
          "price: "3000원"
        }, 
      ]
    }
    GET http://10.58.4.1:8000/products/1
    {
      "results": [
        {
          "id": 1,
          "name": "무농약 깐 생강"
          "price: "3000원"
        }, 
      ]
    }

    Query Parameter


    GET/products?price=3000ウォン
    {
      "results": [
        {
          "id": 1,
          "name": "무농약 깐 생강"
          "price: "3000원"
        }, 
        {
          "id": 2,
          "name": "새우깡"
          "price: "1000원"
        }, 
        {
          "id": 3,
          "name": "사과"
          "price: "3000원"
        }, 
      ]
    }
    GET/products?price=3000元&name=id
    {
      "results": [
        {
          "id": 1,
          "name": "무농약 깐 생강"
          "price: "3000원"
        }, 
      ]
    }

    質問:Path ParameterとQuery Parameterはいつ使いますか。



    queryパラメータを使用して、様々な機能、フィルタリング、ブラシめっき、ブラシめっきを行います.
    そうでない場合はpathパラメータを使用します