REST API


目次
  • RESTとは?
  • REST API
  • RESTful
  • RESTAPI実践(JSON Server)
  • ソース모던 자바스크립트 44장 REST와 RESTful의 개념https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
    RESTとは?
    定義#テイギ#
  • 転送(REST)の略で、リソースを이름(表示)に分割し、そのリソースを交換する상태(情報)を表す.
  • a.資源の名称(表示法)
  • ex)DBの学生情報がリソースである場合、「学生」をリソースの表示とする.
  • b.状態(情報)伝達
  • データは、要求されたときにリソースの状態(情報)を伝達する.
  • 通常は
  • JSONまたはXMLでデータ交換を行う.

  • RESTは基本的にWebの従来技術であるHTTPプロトコルを踏襲しているため、Webのメリットを最大限に活用できるAkitacherスタイルである.

  • RESTは、ネットワーク上のクライアントとサーバとの間の通信方式の一つである.
  • REST APIとは?
    API
    コンピュータ・プログラム間の相互作用と情報交換を促進するためのデータと機能のセットを提供します.
    REST API
    すなわち、RESTに基づいてサービスAPIが実現される.
    3種類のREST APIコンポーネント
    コンポーネントコンテンツ表示方法リソースリソースリソースURI(エンドポイント)動作リソースの動作HTTP要求方法リソースの動作具体内容有効性を示す
    REST API設計原則
  • URI集中表示リソース(リソース)
  • 行為の定義はHTTP要求方法によって定義される:
  • 例)
    # bad
    GET /getTodos/1
    GET /todos/delete/1  
    
    # good
    GET /todos/1
    DELETE /todos/1
    識別可能なリソースの名前は、動詞ではなく名詞でなければなりません.リソースを削除する場合は、DELETEなどを使用してリソースの動作を明確に表示する必要があります.
    その他のより詳細なREST API設計原則
  • URIは、情報を表すリソースを必要とする.
  • リソースは、動詞ではなく名詞を使用し、大文字ではなく小文字を使用します.
  • リソースでは、単数名詞を使用する必要があります.
  • リソースのセット名には、複数の名前を使用する必要があります.
  • リソースのストア名には複数の名前が必要です.

  • スラッシュ区切り記号(/)は、階層関係を表すために使用されます.

  • URIの最後の文字にはスラッシュ(/)は含まれません.
    URIに含まれるすべての文字は、リソースの一意の識別子として使用する必要があります.URIの違いは、リソースの違いを意味します.逆に、リソースが異なる場合は、URIも異なる必要があります.

  • REST APIは、通信のために明確なURIを作成する必要があるため、URIパスの最後に、混同を回避するためにスラッシュ(/)を使用しない.

  • ハイフネーション(-)O、アンダースコア(-)X

  • 小文字O、大文字X

  • ファイル拡張子はURIでX=>Accept Headerを含むものを使用します.
  • ex) http://restapi.example.com/members/soccer/345/photo.jpg (X)
    ex) GET/members/soccer/345/photo HTTP/1.1 Host: restapi.example.com Accept: image/jpg (O)