.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ájl szintaxisa. -
Hogyan hozzunk létre egy
.http
fájlt. -
Kérés küldése
.http
fájlból. -
Hol találhatók
.http
konfigurálható fájlbeállítások. -
Kérések létrehozása
.http
fájlokban a Visual Studio 2022 Endpoints Explorerhasználatával.
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
- Visual Studio 2022 17.8-s vagy újabb verziója a ASP.NET és a webfejlesztési számítási feladat telepítve van.
.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, azazHTTP/1.1
,HTTP/2
vagyHTTP/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=Value
szintaxissal 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.json
nevű 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ó:
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 HostAddress
localhost: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.
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
login
elnevezésére:# @name login https://contoso.com/api/login HTTP/1.1
// @name login https://contoso.com/api/login HTTP/1.1
Az ugyanabban a HTTP-fájlban lévő későbbi kérelmekben a kérés neve alapján hivatkozzon a kérelemre.
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 login
nevet ad neki. A válasz törzse egy JSON-dokumentum, amely egy token
nevű 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.user
nevű 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ódokprovider
é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 secretName
eseté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 provider
Encrypted
é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 $processEnv
formá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 egydatetime
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 egydatetime
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 egytimestamp
. Atimestamp
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
, iso8601
vagy 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 number
unit
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.
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
vagyDebug
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á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:
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.
- 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.