Visual StudioコードでのRESTクライアントの使用


あなたのプロジェクトのための新しいサービスまたはAPIをテストする準備ができていることは、一般的な要件です.通常、Postmanで何かを作成したり、端末から直接cURLコマンドを実行したりします.しかし、あなたがソースコントロールの代わりにあなたのプロジェクトの一部になる何かをすることができるならば、それはかなりきちんとしていないでしょうか?これは、Visual Studioコードの残りのクライアントが有効になっている場所です.
REST Client extensionは、サービス指向の環境で働くとき、あなたの処分で持つ一見単純で、強力なツールです.それはすぐにAPIのエンドポイントへの呼び出しを行うには、簡単にこれらの呼び出しを繰り返して、すべてのVisual Studio Code以内にすることができます.
この記事では、私がREST Client extensionに遭遇した方法、どのようにプロジェクトで使用するか、そしてどのように新しいAPIを試してみるかを説明します.
私は最初に、残りのクライアントのプラグインを数年前に.NET Oxford Meetupイベントで遭遇した.私が思い出したように、プレゼンターはすぐにAPIのエンドポイントをテストするために使用していました.私が行って、その夜それをインストールするそのような完全な単純な実装でした.それは印象的でした、しかし、最近まで、私は残りのAPI呼び出しをチェックするための私の試みツールとしてPostmanを使用していました.それは私によく役立っていました、そして、私はコレクションを準備する際に多くの時間を投資しました、しかし、最近、私は私のセットアップに若干の変更をしたかったです.
これは私が残りのクライアントを思い出したときです.私のVSコードインスタンスからすぐにウェブ要求を実行することができるという考えは、即時の牽引でした.それで、私はそれがすべての箱をめくるかどうか見るためにさらに調査することに決めました.
問題は、私が何を考えていたかということでした.私は本当にいくつかの簡単なことを達成したかった.
  • 私の呼び出しをソースコントロールに追加します.私は彼らを失いたくありません、そして、私は多分1回以上彼らを走らせるより多くです.
  • APIキーを確保します.我々は、ソースコントロールでそれらをしたくない!
  • ソースコントロール


    だから、これは簡単です.プラグインをインストールしたら、Visual Studioのコードを作成してファイルを開く必要があります.HTTP '.もちろん、APIコントロールをソースコントロールにすると、APIキーが重要です.

    APIキーの確保


    私が働いているAPIのほとんどは、認可を必要とします.ソースリポジトリ(特に公共のもの)であなたのキーを保存することは良い実行でありません.それは私がどのように呼び出しをして、それらのAPIキーをソースコントロールにチェックしないかという難問を私に与えました.
    次のAPI呼び出しを考慮すると、
    curl --request POST \
      --url https://manage.kontent.ai/v2/projects/7af531c3-f4b9-4af6-8f9e-383f51ad3e4b/types \
      --header 'Authorization: Bearer ew0KICAiYWxnIjogIkhTMjU214ZIiwNCiAgInR5cCI6ICJKV1QiDQp9.ew08KICAianRpIjogImJhYzhkODIxMzI1NTRlNGZiNGQxMGQ5MzAFYNhNDZlZmQyIiwNC629iAgImlhdCI6ICIxNjE5NzcwODE5IiwNCiAgImV4cCI6ICIxOTY1MzcwODE5IiwNCiAgInByb2plY3RfaWQiOiAiY2MzODBiODg1OTcwMDFiMzQzZjUwMmE3Y2FkNmU4NjIiLA0KICAidmVyIjogIjIuMS4wIiwNCiAgInVpZCBCI6ICJ1c3JfMHZPTjBVTDFBQ2ZVOXNyYjVUczQyWSIsDQogICJhdWQiOiAibWFuYWdlLmtlbnRpY29jbG91ZC5jb20iDQp9.4-gWmqdw7eybaZu3YkwgpoDieZr8zS2cKMOqBMX-t_E' \
      --header 'Content-type: application/json'
    
      --data '
    {
      "external_id": "article",
      "name": "Article",
      "codename": "article",
      "elements": [
        {
          "name": "Article title",
          "codename": "title",
          "type": "text"
        },
        {
          "name": "Article body",
          "codename": "body",
          "type": "rich_text"
        },
        {
          "name": "Author bio",
          "codename": "bio",
          "allowed_blocks": [
            "images",
            "text"
          ],
          "type": "rich_text"
        }
      ]
    }’
    
    すごい、それは私が必要とするものをします、しかし、私は本当にその承認トークンを私のソースコントロールに保存したくありません、それで、我々はそれについて何をすることができますか?
    (心配しないで、上記の例のキーは無効です🤓)

    変数と環境


    これは、変数と環境が残りのクライアントの拡張子が付属しているところです.あなたの設定で新しい環境を追加することができます.これに応えるJSONファイル.例として、私が現在取り組んでいるプロジェクトには次のようなものがあります.
        "rest-client.environmentVariables": {
            "$shared": {
    
            },
            "dev": {
                "project_id": "b82a...yeah-not-the-real-key...3a62",
                "preview_api": "ew0K...yeah-not-the-real-key...UeMk",
                "management_api": "ew0K...yeah-not-the-real-key...H4p0",
            },
            "prod": {
              "project_id": "db3f...yeah-not-the-real-key...a2f4",
              "preview_api": "ew0K...yeah-not-the-real-key...68ZI",
              "management_api": "ewto...yeah-not-the-real-key...oC3E",
          },
        },
    
    これらの変数はインラインで使用することができますので、最初のAPI呼び出しは以下のようになります.
    curl --request POST \
      --url https://manage.kontent.ai/v2/projects/{{project_id}}/types \
      --header 'Authorization: Bearer {{management_api}}' \
      --header 'Content-type: application/json'
    
      --data '
    {
      "external_id": "article",
      "name": "Article",
      "codename": "article",
      "elements": [
        {
          "name": "Article title",
          "codename": "title",
          "type": "text"
        },
        {
          "name": "Article body",
          "codename": "body",
          "type": "rich_text"
        },
        {
          "name": "Author bio",
          "codename": "bio",
          "allowed_blocks": [
            "images",
            "text"
          ],
          "type": "rich_text"
        }
      ]
    }’
    
    それは単に読みやすくするだけではなく、それらのAPIキーがファイルやプロジェクト全体に保存されていないため、ソースコントロールを維持しています.
    エクステンションを使用する場合、これらの環境をVSコードで選択することができます.

    すべてを包む


    残りのクライアントの拡張子は本当に便利なツールあなたの処分をすることです.この記事では、私は本当にそれができることの表面を引っ掻きました.それはそれが可能であるものを見つけるためにdocumentation in GitHubを見ていくつかの瞬間を取る価値がある.
    私は正直にこの拡張子が私に多くの時間を節約したと言うことができます、そして、それは私がVsコードを使用している誰にでも推薦するデフォルト拡張の私のリストにあります.