9月3日(金)REST API


クライアント側再描画(CSR)は、いくつかの方法でサーバと通信します.GETを介してウェブページまたはデータを要求する.POSTに送信された新しい文書またはデータDELETEに保存されている記事またはデータを削除できます.

REST API

RESTは「Representation State Transfer」の略です.
ロイ・フェルティンの博士号論文では,Web(http)の優位性を最大限に利用できるアーキテクチャを初めて紹介した.
REST APIは、Web上のすべてのリソースをHTTP URIとして表す.
HTTPメソッドにより要求と応答を定義する方式(GET,POSTなど)
REST APIの使用は、RESTアーキテクチャの制約を遵守することを意味します.

Endpoint

  • エンドポイント(またはルートURL)
    要求をAPIでサーバと通信する場合は、서버가 요청을 수락하는 시작점
  • ex)
    Github APIのroot-endpointhttps://api.github.com高さである.
    ツイッターAPIのroot-endpointhttps://api.twitter.comはい。
    一般的に、root-endpoint도메인 주소의 루트(/)を指す
    同様に、Message States ServerのURLに基づいて決定できるルートエンドポイントがMessage States Serverの最後の場所ホストのルート(/)である
    path:path(またはurl-path)は、APIを介してサーバと通信する際にサーバと通信する鍵である.pathは、サーバで定義された文字列に依存します.例えば、https://api.github.com/userにおいて、「user」はpathである.
  • path
    path(またはurl-path)は、APIを介してサーバと通信する.
    サーバと通信可能なkeyサーバで定義された文字列によってpathが異なります
    例えば、https://api.github.com/userにおいて、'user'가 path다
  • メッセージの表示


    Request


    GithubIDによって作成されたすべてのメッセージを表示
    GET/{githubID}/messages
    リクエスト者のIDを含む{githubID}セクション
    以下のようにすることができる
    Southbigによって作成されたすべてのメッセージを表示
    GET/Southbig/messages
    このリクエストは追加のパラメータ(query parameter)を使用できます.
    パラメータは次のように使用できます.
    /Southbig/messages?roomname=ロビー

    Response


    応答は次のJSON形式です.
    [データ]要求応答例
    [
      {
        "id": 1,
        "username": "Southbig",
        "text": "안녕하세요",
        "roomname": "로비",
        "date": "2021-07-28T03:54:21.134"
      },
      // ...여러 개의 메시지
    ]
    メッセージ使用のプロパティ

    メッセージの追加


    Request


    要求githubIDによって作成されたメッセージの生成
    POST/{githubID}/messages
    {githubID}セクションには、各人のIDが入ります
    情報は24時間ごとに自動的に更新されます
    要求本文には以下の内容が含まれている必要があります.
  • 要求形式:JSON
    MIMEタイプ:アプリケーション/json

  • パラメータについて

    Response


    応答は次のJSON形式です.
    [データ]要求応答例
    {
      "id": 5
    }
    id숫자 형식であり、新たに生成されたメッセージは고유한 ID값である.

    メッセージの初期化


    Request


    要求githubIDによって作成されたメッセージの初期化
    POST/{githubID}/clear
    本文を要求する必要はありません

    Response


    応答は次のJSON形式です.
    [データ]要求応答例
    {
      "message": "message initialized!"
    }

    REST API多元接続


    REST APIは正式に確定した明確な規格がない
    開発者のREST APIの特徴(原則)によって、少し異なる様相を呈している.
    しかし、REST APIのベストプラクティスはまだ議論され、統合されているため、多くの設計の中で、明らかに美しいREST API設計がある.
    5つの基本的なREST API設計ガイド
    オーストラリア政府API作成ガイドライン
    米ホワイトハウスAPI作成ガイド
    Google API作成ガイド

    REST APIを設計する際の最も重要な2つの側面

  • URIは、情報のリソースを表す.
  • リソースの状態をHTTPメソッド(GET、POST、PUT、DELETE...)と定義する
  • ex)GET /user/1122/postというURIはREST APIに適合しないPOST /user/1122がREST API規則に合致するように表現される

    Open APIとAPI Key


    Open API


    政府が提供する公共データがあり、公共データへのアクセスを容易にするため、政府はAPIを開放する形で公共データを提供している.
    パブリックデータポータル検索に必要なキーワードに接続すると、そのキーワードに関連するAPIが表示されます.
    このAPIには「Open」というキーワードがあります
    その名の通り、誰にでも開放されたAPIですが、"무제한으로 이용할 수 있다"
    各機関やAPIには所定の使用ルールがあり、その使用ルールによって制限(価格、情報の制限など)がある場合があります.
    ex)
    簡単な体験Open APIの代表的なページはOpen Weather Mapサイトが提供する天気APIです
    このWebサイトで提供されるデータは次のとおりです.
  • は限定されていますが、天気APIは無料でご利用いただけます
    デフォルトでは、Preplanは毎分60回、毎月100回呼び出されます.
  • JSON形式で
  • データ
  • に応答

    API Key

  • APIを利用するにはAPI Keyが必要です
    APIキーを必要としない場合がありますが、サーバからデータを取得するには通常APIキーが必要です.
    サーバーのご利用は有料です

  • ログインユーザのみがAPI Key形式でリソースへのアクセス権限を提供し、データを要求するときにAPI keyを同時に送信しなければ所望の応答を受信できない.