Megosztás a következőn keresztül:


.http-fájlok használata a Visual Studio 2022-ben

A Visual Studio 2022.http fájlszerkesztővel kényelmesen tesztelhet ASP.NET Core-projekteket, különösen API-alkalmazásokat. A szerkesztő egy olyan felhasználói felületet biztosít, amely:

  • .http fájlok létrehozása és frissítése.
  • .http fájlokban megadott HTTP-kéréseket küld.
  • Megjeleníti a válaszokat.

Ez a cikk a következő dokumentációt tartalmazza:

A .http fájlformátumot és a szerkesztőt a Visual Studio Code REST ügyfélbővítményihlette. A Visual Studio 2022 .http szerkesztő a .rest alternatív fájlkiterjesztésként ismeri fel ugyanahhoz a fájlformátumhoz.

Előfeltételek

.http fájlszintaxis

A következő szakaszok .http fájlszintaxisát ismertetik.

Kérelmek

A HTTP-kérések formátuma HTTPMethod URL HTTPVersion, mindegyik egy sorban, ahol:

  • HTTPMethod az a HTTP-metódus, amelyet használni kell, például:
  • URL a kérés elküldéséhez szükséges URL-cím. Az URL-cím tartalmazhat lekérdezési sztringparamétereket. Az URL-címnek nem kell helyi webes projektre mutatnia. Bármilyen URL-címre mutathat, amelyhez a Visual Studio hozzáférhet.
  • HTTPVersion nem kötelező, és megadja a használni kívánt HTTP-verziót, azaz HTTP/1.1, HTTP/2vagy HTTP/3.

A fájlok több kérést is tartalmazhatnak, ha ### elválasztójeleket tartalmazó sorokat használnak. A fájl három kérését bemutató alábbi példa ezt a szintaxist szemlélteti:

GET https://localhost:7220/weatherforecast

###

GET https://localhost:7220/weatherforecast?date=2023-05-11&location=98006

###

GET https://localhost:7220/weatherforecast HTTP/3

###

Kérelemfejlécek

Ha egy vagy több fejlécet szeretne hozzáadni, az egyes fejléceket közvetlenül a kérelemsor után adja hozzá a saját sorához. Ne tartalmazzon üres sorokat a kérelemsor és az első fejléc között, illetve az azt követő fejlécsorok között. A formátum HeaderName: Value, ahogy az alábbi példákban is látható:

GET https://localhost:7220/weatherforecast
Date: Wed, 27 Apr 2023 07:28:00 GMT

###

GET https://localhost:7220/weatherforecast
Cache-Control: max-age=604800
Age: 100

###

Fontos

API hívása során, amely fejlécekkel történő hitelesítést alkalmaz, ne helyezzen el semmilyen titkos információt a forráskód-repozitóriumba. A jelen cikk későbbi részében megismeri a titkos kulcsok tárolásának támogatott módszereit, például ASP.NET Alapvető felhasználói titkos kulcsok, Az Azure Key Vault és DPAPI-titkosítási.

Kérés tartalma

Adja hozzá a kérelem törzsét egy üres sor után, az alábbi példában látható módon:

POST https://localhost:7220/weatherforecast
Content-Type: application/json
Accept-Language: en-US,en;q=0.5

{
    "date": "2023-05-10",
    "temperatureC": 30,
    "summary": "Warm"
}

###

Megjegyzések

A # vagy // kezdő vonalak megjegyzések. Ezek a sorok figyelmen kívül lesznek hagyva, amikor a Visual Studio HTTP-kéréseket küld.

Változók

A @ kezdődő sor a @VariableName=Valueszintaxissal definiál egy változót.

A változók a fájl későbbi részében definiált kérelmekben hivatkozhatók. Úgy hivatkoznak rájuk, hogy a nevüket dupla kapcsos zárójelek közé teszik, mint például {{ és }}. Az alábbi példa két, kérelemben definiált és használt változót mutat be:

@hostname=localhost
@port=44320
GET https://{{hostname}}:{{port}}/weatherforecast

A változók a fájlban korábban definiált más változók értékeinek használatával határozhatók meg. Az alábbi példa az előző példában bemutatott kettő helyett egy változót használ a kérelemben:

@hostname=localhost
@port=44320
@host={{hostname}}:{{port}}
GET https://{{host}}/api/search/tool

Környezeti fájlok

Ha különböző értékeket szeretne adni változóknak különböző környezetekben, hozzon létre egy http-client.env.jsonnevű fájlt. Keresse meg a fájlt ugyanabban a könyvtárban, mint a .http vagy annak egyik szülőkönyvtárában. Íme egy példa egy környezeti fájlra:

{
  "dev": {
    "HostAddress": "https://localhost:44320"
  },
  "remote": {
    "HostAddress": "https://contoso.com"
  }
}

A környezeti fájl egy JSON-fájl, amely egy vagy több elnevezett környezetet tartalmaz, például a "dev" és a "remote" (távoli) az előző példában. Minden nevesített környezet egy vagy több változót tartalmaz, például HostAddress az előző példában. A környezeti fájlok változóira ugyanúgy hivatkozunk, mint más változókra, ahogyan az alábbi példában látható:

GET {{HostAddress}}/api/search/tool

A kérés küldésekor a változóhoz használt értéket a .http fájlszerkesztő jobb felső sarkában található környezetválasztó legördülő lista határozza meg. Az alábbi képernyőképen a választó látható:

.http fájlszerkesztő a környezetválasztó kiemelésével. A

A környezeti fájlnak nem kell a projektmappában lennie. A Visual Studio egy környezeti fájlt keres abban a mappában, amelyben a .http fájl létezik. Ha nincs abban a mappában, a Visual Studio a szülőkönyvtárakon keresztül keresi. Ha egy http-client.env.json nevű fájl található, a keresés véget ér. A rendszer a .http fájlhoz legközelebb található fájlt használja.

Előfordulhat, hogy egy .http fájl létrehozása vagy szerkesztése után be kell zárnia és újra meg kell nyitnia a projektet, hogy láthassa a környezeti választóban megjelenő változásokat. A környezetválasztó kiválasztásához nyomja le F6.

A Visual Studio a következő helyzetekben jelenít meg figyelmeztetéseket:

  • A .http fájl egy olyan változóra hivatkozik, amely nincs definiálva a .http fájlban vagy a környezeti fájlban.
  • A környezeti fájl olyan változót tartalmaz, amely nem szerepel a .http fájlban.

Egy környezeti fájlban definiált változó lehet ugyanaz, mint a .http fájlban definiált változó, vagy más is lehet. Ha a .http fájlban és a környezeti fájlban is definiál egy változót, a .http fájl értéke felülbírálja a környezeti fájl értékét.

Megosztott változók

$shared egy speciális környezetnév olyan értékekhez, amelyek több környezet esetében azonosak. Vegyük például a következő környezeti fájlt (http-client.env.json):

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev1": {
        "username": "dev1user"
    },
    "dev2": {
        "username": "dev2user"
    },
    "staging": {
        "username": "staginguser",
        "HostAddress": "https://staging.contoso.com"
    }
}

Az előző példában a $shared környezet határozza meg a HostAddress változót az localhost:7293értékkel. A HostAddresslocalhost:7293 értékkel rendelkező változó alapértelmezettként szolgál azon környezetek esetében, amelyek nem definiálnak HostAddress. A dev1 vagy dev2 környezet definiálásakor a HostAddress értéke a $shared környezetből származik, mert dev1 és dev2 nem definiálnak HostAddress változót. A staging környezet definiálásakor a HostAddress értéke https://staging.contoso.comértékre van állítva, felülírva az alapértelmezett $shared.

Változók kérése

Az egyik HTTP-kérés értékeit átadhatja egy másiknak ugyanazon .http fájlon belül.

  1. Hozzon létre egy egysoros megjegyzést a kérelem URL-címe előtt, hogy elnevezze a következő kérést. Az alábbi sorok például alternatív módszereket mutatnak a kérés loginelnevezésére:

    # @name login
    https://contoso.com/api/login HTTP/1.1   
    
    // @name login
    https://contoso.com/api/login HTTP/1.1
    
  2. Az ugyanabban a HTTP-fájlban lévő későbbi kérelmekben a kérés neve alapján hivatkozzon a kérelemre.

  3. Az alábbi szintaxis használatával kinyerheti a válasz kívánt részét.

    {{<request name>.(response|request).(body|headers).(*|JSONPath|XPath|<header name>)}}.
    

    Ez a szintaxis lehetővé teszi az értékek kinyerését magából a kérelemből vagy a válaszból (request|response). Kérés vagy válasz esetén kinyerheti az értékeket a törzsből vagy a fejlécekből (body|headers).

    Ha body van kiválasztva, a szintaxis *|JSONPath|XPath része érvényes:

    • * kinyeri a teljes választörzset.

      Példa: {{login.response.body.*}}

    • JSON-válaszok esetén használja JSONPath egy adott tulajdonság vagy attribútum kinyeréséhez.

      Példa: {{login.response.body.$.token}}

    • XML-válaszok esetén az XPath használatával nyerjen ki egy adott tulajdonságot vagy attribútumot.

      Példa: {{login.response.body./token}}

    Ha headers van kiválasztva, egy fejlécnév kinyeri a teljes fejlécet. A fejlécnevek nem érzékenyek a kis- és nagybetűkre.

    Példa: {{login.response.headers.Location}}

Ha egy elnevezett kérés válaszára szeretne hivatkozni, manuálisan kell aktiválnia az elnevezett kérést a válasz első lekéréséhez. Amikor értékeket nyer ki a válaszból, a legújabb választ kapja, ha a kérést többször is elküldték.

Példa kérelemváltozó használatára

Tegyük fel például, hogy a HTTP-fájlnak van egy kérése, amely hitelesíti a hívót, és loginnevet ad neki. A válasz törzse egy JSON-dokumentum, amely egy tokennevű tulajdonságban tartalmazza a hozzáférési tokent. A későbbi kérésekben ezt a hordozó tokent egy Authorization fejlécben kell átadnia. Az alábbi példa ezt teszi:

# @name login

POST {{TodoApi_HostAddress}}/users/token 
Content-Type: application/json 

{ 
  "username": "{{myusername}}", 
} 

### 

GET {{TodoApi_HostAddress}}/todos 
Authorization: Bearer {{login.response.body.$.token}}

### 

A szintaxis {{login.response.body.$.token}} a hozzáférési tokent jelöli.

  • login: A kérelem neve.
  • response: A HTTP-válaszobjektumra hivatkozik.
  • body: A HTTP-válasz törzsére hivatkozik.
  • $: A JSON-dokumentum gyökérelemét jelöli a válasz törzsében.
  • token: A JSON-dokumentum adott tulajdonságára hivatkozik.

Kérésváltozók használata nélkül manuálisan kell kinyernie a tokent a bejelentkezés válaszából, és be kell foglalnia a fejlécbe a későbbi kérésekhez. A kérelemváltozók lehetővé teszik a folyamat automatizálását.

Felhasználóspecifikus környezeti fájlok

A felhasználóspecifikus érték minden olyan érték, amellyel a fejlesztő tesztelni szeretne, de nem szeretné megosztani a csapattal. A http-client.env.json fájl alapértelmezés szerint be van jelentkezve a forrásvezérlőbe, ezért NE adjon hozzá felhasználóspecifikus értékeket ehhez a fájlhoz. Ehelyett adjon hozzá felhasználóspecifikus értékeket egy http-client.env.json.usernevű fájlhoz. A http-client.env.json.user fájl ugyanabban a mappában található, mint a http-client.env.json fájl. A .user végződő fájlok alapértelmezés szerint ki vannak zárva a forrásvezérlésből a Visual Studio forrásvezérlő funkcióinak használatakor.

A http-client.env.json fájl betöltésekor a Visual Studio testvérfájlt keres http-client.env.json.user. Ha egy változó a http-client.env.json fájlban és a http-client.env.json.user fájlban is egy környezetben van definiálva, a http-client.env.json.user fájl értéke nyer.

Íme egy példaforgatókönyv, amely bemutatja, hogyan működik egy felhasználóspecifikus környezeti fájl. Tegyük fel, hogy a .http fájl tartalma a következő:

GET {{HostAddress}}/{{Path}}
Accept: application/json

Tegyük fel, hogy a http-client.env.json fájl a következő tartalmat tartalmazza:

{
  "dev": {
    "HostAddress": "https://localhost:7128",
    "Path": "/weatherforecast"
  },
  "remote": {
    "HostAddress": "https://contoso.com",
    "Path": "/weatherforecast"
  }
}

Tegyük fel, hogy van egy felhasználóspecifikus környezeti fájl, amely a következő tartalmat tartalmazza:

{
  "dev": {
    "Path": "/swagger/index.html"
  }
}

Amikor a felhasználó kiválasztja a "dev" környezetet, a rendszer elküldi a kérést https://localhost:7128/swagger/index.html, mert a Path fájl http-client.env.json.user értéke felülírja a http-client.env.json fájl értékét.

Ugyanezekkel a környezeti fájlokkal tegyük fel, hogy a változók a .http fájlban vannak definiálva:

@HostAddress=https://contoso.com
@Path=/weatherforecast

GET {{HostAddress}}/{{Path}}
Accept: application/json

Ebben a forgatókönyvben a rendszer elküldi a "dev" környezeti kérelmet https://contoso.com/weatherforecast, mert .http fájlok változódefiníciói felülírják a környezeti fájldefiníciókat.

ASP.NET Core felhasználói titkok

A felhasználói titkos kódokértékének lekéréséhez használjon olyan környezeti fájlt, amely ugyanabban a mappában található, mint a ASP.NET Core-projekt. A környezeti fájlban definiáljon egy változót, amely provider és secretName tulajdonságokkal rendelkezik. Állítsa a provider értéket AspnetUserSecrets értékre, és állítsa secretName a kívánt felhasználói titkos kód nevére. Az alábbi környezeti fájl például egy ApiKeyDev nevű változót határoz meg, amely a config:ApiKeyDev felhasználói titkos kódból szerzi be az értékét:

{
  "dev": {
    "ApiKeyDev": {
      "provider": "AspnetUserSecrets",
      "secretName": "config:ApiKeyDev"
    }
  }
}

Ha ezt a változót szeretné használni a .http fájlban, hivatkozzon rá, mint egy standard változóra. Például:

GET {{HostAddress}}{{Path}}
X-API-KEY: {{ApiKeyDev}}

A kérés elküldésekor a ApiKeyDev titkos kód értéke az X-API-KEY fejlécben található.

Amikor beírja a http fájlt, a szerkesztő megjeleníti a változó nevének befejezési listáját, de nem jeleníti meg az értékét.

Azure Key Vault

Azure Key Vault az Azure számos kulcskezelési megoldása közé tartozik, amelyek titkos kódok kezelésére használhatók. A .http fájlokhoz jelenleg támogatott három titkos kulcstároló közül a Key Vault a legjobb választás a titkos kulcsok különböző felhasználók közötti megosztásához. A másik két lehetőség –ASP.NET felhasználói titkos kódok és DPAPI-titkosítás– nem könnyen osztható meg.

Az Azure Key Vaultból származó érték használatához be kell jelentkeznie a Visual Studióba egy olyan fiókkal, amely hozzáfér a kívánt Key Vaulthoz. Definiáljon egy változót egy környezeti fájlban a titkos kód eléréséhez használt metaadatokkal. A változó neve AKVSecret a következő példában:

{
  "dev": {
    "AKVSecret": {
      "provider": "AzureKeyVault",
      "secretName": "SecretInKeyVault",
      "resourceId": "/subscriptions/3a914c59-8175a9e0e540/resourceGroups/my-key-vault-rg/providers/Microsoft.KeyVault/vaults/my-key-vault-01182024"
    }
  }
}

A változó AKVSecret lekéri az értékét az Azure Key Vaultból. A következő tulajdonságok vannak meghatározva a AKVSecret-n:

Név Leírás
szolgáltató A Key Vaulthoz mindig a AzureKeyVault-t használja.
titkosNév A kinyerni kívánt titkos kód neve.
erőforrás-azonosító Az Azure-erőforrás azonosítója a konkrét Key Vault eléréséhez.

A resourceId tulajdonság értéke az Azure Portalon található. Keresse meg a Beállítások > Tulajdonságok lehetőséget. A secretNameesetén használja a Titkok lapon az Azure portálon megjelenő titok nevét.

Az alábbi .http fájlban például van egy kérés, amely ezt a titkos értéket használja.

GET {{HostAddress}}{{Path}}
X-AKV-SECRET: {{akvSecret}}

DPAPI-titkosítás

Windows rendszeren van egy Data Protection API (DPAPI), amely bizalmas adatok titkosítására használható. Ha a DPAPI-t az adatok titkosítására használják, a titkosított értékek mindig gépspecifikusak, és .http fájlokban is felhasználóspecifikusak. Ezek az értékek nem oszthatók meg más felhasználókkal.

Egy érték titkosításához használja a következő konzolalkalmazást:

using System.Security.Cryptography;
using System.Text;

string stringToEncrypt = "Hello, World!";
byte[] encBytes = ProtectedData.Protect(Encoding.Unicode.GetBytes(stringToEncrypt), optionalEntropy: null, scope: DataProtectionScope.CurrentUser);
string base64 = Convert.ToBase64String(encBytes);
Console.WriteLine(base64);

Az előző konzolalkalmazás a System.Security.Cryptography.ProtectedData NuGet-csomagra hivatkozik. Ha engedélyezni szeretné, hogy a titkosított érték működjön a .http fájlban, a titkosítást a DataProtectionScope.CurrentUserhatókörrel kell végezni. A titkosított érték egy base64 kódolású sztring, amely másolható és beilleszthető a környezeti fájlba.

A környezeti fájlban hozzon létre egy változót, amely provider és value tulajdonságokkal rendelkezik. Állítsa a providerEncryptedértékre, és állítsa be a value a titkosított értékre. Az alábbi környezeti fájl például egy dpapiValue nevű változót definiál, amely a DPAPI-val titkosított sztringből kapja meg az értékét.

{
  "dev": {
    "dpapiValue": {
      "provider": "Encrypted",
      "value": "AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA5qwfg4+Bhk2nsy6ujgg3GAAAAAACAAAAAAAQZgAAAAEAACAAAAAqNXhXc098k1TtKmaI4cUAbJVALMVP1zOR7mhC1RBJegAAAAAOgAAAAAIAACAAAABKu4E9WC/zX5LYZZhOS2pukxMTF9R4yS+XA9HoYF98GzAAAAAzFXatt461ZnVeUWgOV8M/DkqNviWUUjexAXOF/JfpJMw/CdsizQyESus2QjsCtZlAAAAAL7ns3u9mEk6wSMIn+KNsW/vdAw51OaI+HPVrt5vFvXRilTtvGbU/JnxsoIHj0Z7OOxlwOSg1Qdn60zEqmlFJBg=="
    }
  }
}

Az előző környezeti fájlban dpapiValue használható a .http fájlban, mint bármely más változó. Például:

GET {{HostAddress}}{{Path}}
X-DPAPI-Secret: {{dpapiSecret}}

A kérés elküldésekor az X-DPAPI-Secret a visszafejtett titkos kód értékkel rendelkezik.

Környezeti változók

Egy környezeti változó értékének lekéréséhez használja a $processEnv. Az alábbi példa a USERNAME környezeti változó értékét az X-UserName fejlécbe helyezi.

GET {{HostAddress}}{{Path}}
X-UserName: {{$processEnv USERNAME}}

Ha $processEnv próbál hozzáférni egy nem létező környezeti változóhoz, a .http fájlszerkesztő hibaüzenetet jelenít meg.

.env fájlok

Egy .env fájlban definiált változó értékének lekéréséhez használja a $dotenv. A .env fájlnak a projektmappában kell lennie. A $dotenv formátuma megegyezik a $processEnvformátumával. Ha például a .env fájl tartalma a következő:

USERNAME=userFromDotenv

A .http fájl tartalma pedig a következő:

GET {{HostAddress}}{{Path}}
X-UserName: {{$dotEnv USERNAME}}

A X-UserName fejlécben a következő lesz: "userFromDotenv".

Amikor $dotenv be van írva a szerkesztőbe, a .env fájlban meghatározott változók befejezési adatait jeleníti meg.

Jegyzet

.env fájlok alapértelmezés szerint nem lesznek kizárva a forrásvezérlőből, ezért ügyeljen arra, hogy ne ellenőrizze a titkos értékeket.

Véletlenszerű egész számok

Véletlenszerű egész szám létrehozásához használja a $randomInt. A szintaxis {{$randomInt [min max]}}, ahol a min és max értékek megadása nem kötelező.

Dátumok és időpontok

  • $datetime létrehoz egy datetime karakterláncot UTC-ben. A szintaxis {{$datetime [format] [offset option]}}, ahol a formátum és az eltolás beállításai opcionálisak.
  • $localDatetime létrehoz egy datetime karakterláncot a helyi időzónában. A szintaxis {{$localDatetime [format] [offset option]}}, ahol a formátum és az eltolás beállításai opcionálisak.
  • UTC-ben a $timestamp létrehoz egy timestamp. A timestamp a Unix-korszak óta eltelt másodpercek száma UTC-ben. A szintaxis {{$timestamp [offset option]}}, ahol az eltolási lehetőség megadása nem kötelező.

A [format] opció a rfc1123, iso8601vagy egy egyéni formátum idézőjelekben. Például:

GET https://httpbin.org/headers
X-CUSTOM: {{$datetime "dd-MM-yyyy"}}
X-ISO8601: {{$datetime iso8601}}
X-ISO8601L: {{$localDatetime iso8601}}
X-RFC1123: {{$datetime rfc1123}}
X-RFC1123L: {{$localDatetime rfc1123}}

Íme néhány példaérték, amelyeket az előző példák generálnak:

{
  "headers": {
    "X-Custom": "17-01-2024",
    "X-Iso8601": "2024-01-17T22:59:55.5345770+00:00",
    "X-Iso8601L": "2024-01-17T14:59:55.5345770-08:00",
    "X-Rfc1123": "Wed, 17 Jan 2024 22:59:55 GMT",
    "X-Rfc1123L": "Wed, 17 Jan 2024 14:59:55 -08"
  }
}

A [offset option] szintaxis numberunit formában van, ahol number egész szám, unit pedig az alábbi értékek egyike:

unit Magyarázat
ms Ezredmásodperc
s Másodpercek
m Percek
h Órák
d Napok
w Hét
M Hónapok
y Évek

Például:

GET https://httpbin.org/headers
X-Custom-Minus-1-Year: {{$datetime "dd-MM-yyyy" -1 y}}
X-RFC1123-Plus-1-Day: {{$datetime rfc1123 1 d}} 
X-Timestamp-Plus-1-Year: {{$timestamp 1 y}}

Íme néhány példaérték, amelyeket az előző példák generálnak:

{
  "headers": {
    "X-Custom-Minus-1-Year": "17-01-2023",
    "X-Rfc1123-Plus-1-Day": "Thu, 18 Jan 2024 23:02:48 GMT",
    "X-Timestamp-Plus-1-Year": "1737154968"
  }
}

Néhány fenti példa az ingyenes nyílt forráskódú webhelyet használja <httpbin.org>. Ez egy külső webhely, amely nem kapcsolódik a Microsofthoz. Ezekben a példákban egy válasz törzset ad vissza a kérésben elküldött fejlécekkel. További információ az erőforrás API-teszteléshez való használatáról: httpbin.org webhely kezdőlapja.

Nem támogatott szintaxis

A Visual Studio 2022 .http fájlszerkesztő nem rendelkezik a Visual Studio Code REST ügyfélbővítmény funkcióival. Az alábbi lista néhány fontosabb funkciót tartalmaz, amelyek csak a Visual Studio Code bővítményben érhetők el:

  • Egynél több sort felölelő kérelemsor
  • Fájl elérési útjának megadása a kérelem törzseként
  • Vegyes formátum a törzshöz, amikor többrészes/űrlap használata szükséges
  • GraphQL-kérelmek
  • cURL-kérelem
  • Másolás/beillesztés cURL-ként
  • Kérelemelőzmények
  • Választörzs mentése fájlba
  • Tanúsítványalapú hitelesítés
  • Változók kérése
  • Válasz előnézetének testreszabása
  • Kérésenkénti beállítások

.http-fájl létrehozása

  • A Megoldáskezelőbenkattintson a jobb gombbal egy ASP.NET Core-projektre.

  • A helyi menüben válassza >Új elem hozzáadásalehetőséget.

  • Az Új elem hozzáadása párbeszédpanelen válassza ASP.NET Core>Általánoslehetőséget.

  • Válassza ki a HTTP-fájlt, majd a Hozzáadáslehetőséget.

    Új elem hozzáadása párbeszédpanel, amelyen a KIJELÖLT HTTP-fájltípus látható.

HTTP-kérés küldése

  • Adjon hozzá legalább egy kérést egy .http fájlhoz, és mentse a fájlt.

  • Ha a kérelem URL-címe a localhostra és a projekt portjára mutat, futtassa a projektet, mielőtt kérést próbálna küldeni neki.

  • Válassza ki a közvetlenül az elküldendő kérés felett található Send Request vagy Debug hivatkozást.

    A rendszer elküldi a kérést a megadott URL-címre, és a válasz egy külön panelen jelenik meg a szerkesztőablaktól jobbra.

    .http fájlszerkesztő ablakában a

.http fájlbeállítások

A .http fájl viselkedésének néhány aspektusa konfigurálható. Az elérhető lehetőségeket az Eszközök>Beállítások>Szövegszerkesztő>Restcímű témakörben tekinthet meg. Az időtúllépési beállítás például konfigurálható a Speciális lapon. Íme egy képernyőkép a Beállítások párbeszédpanelről:

Beállítások párbeszédpanel, amelyen a Szövegszerkesztő és a Rest kijelölés látható.

Az Endpoints Explorer használata

Endpoints Explorer egy eszközablak, amely megjeleníti a webes API által definiált összes végpontot. Az eszköz lehetővé teszi, hogy kéréseket küldjön a végpontoknak egy .http fájl használatával.

Az Endpoints Explorer által megjelenített kezdeti végpontkészlet statikusan van felderítve. Vannak olyan végpontok, amelyeket nem lehet statikusan felderíteni. Az osztálytárprojektben definiált végpontok például futásidőben nem deríthetők fel. Webes API futtatásakor vagy hibakeresésekor a Visual Studio 17.11 előzetes verziója dinamikusan felderíti a végpontokat futásidőben is, és hozzáadja őket Endpoints Explorer.

Az Endpoints Explorer megnyitása

Válassza a Nézet>Egyéb Ablakok>"Endpoints Explorer"lehetőséget.

Kérés hozzáadása .http fájlhoz

Kattintson a jobb gombbal egy kérésre Endpoints Explorer, és válassza a Kérés létrehozásalehetőséget.

Endpoints Explorer ablak, amelyen a kérés helyi menüjének

  • Ha létezik egy .http fájl, amelynek a fájlneve a projekt neve, a kérés hozzá lesz adva a fájlhoz.
  • Ellenkező esetben egy .http fájl jön létre a projektnévvel a fájlnévvel, és a kérés hozzá lesz adva a fájlhoz.

Az előző képernyőképen a minimális API-projektsablon által meghatározott végpontok láthatók. Az alábbi példa a kijelölt végponthoz létrehozott kérést mutatja be:

GET {{WebApplication1_HostAddress}}/weatherforecast/
Accept: application/json

###

Küldje el a kérést, ahogyan a korábbiakban leírtuk a cikkben.

Lásd még: