Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio 2022.http dosya düzenleyicisi, ASP.NET Core projelerini, özellikle API uygulamalarını test etmek için kullanışlı bir yol sağlar. Düzenleyici, aşağıdakileri sağlayan bir kullanıcı arabirimi sağlar:
- Dosyaları oluşturur ve güncelleştirir
.http. - Dosyalarda
.httpbelirtilen HTTP isteklerini gönderir. - Yanıtları görüntüler.
Bu makalede şunlara yönelik belgeler yer alır:
-
Dosya
.httpsöz dizimi. -
.httpoluşturma. -
Bir dosyadan
.httpistek gönderme. -
.httpyapılandırılabilir dosya seçeneklerinin nerede bulunacağı. -
Visual Studio 2022
.httpkullanarak dosyalarda istek oluşturma.
.http Dosya biçimi ve düzenleyici, Visual Studio Code REST İstemci uzantısından esinlendi. Visual Studio 2022 .http düzenleyicisi, aynı dosya biçimi için alternatif bir dosya uzantısı olarak tanır .rest .
Önkoşullar
- ASP.NET ve web geliştirme iş yükünün yüklü olduğu Visual Studio 2022 sürüm 17.8 veya üzeri.
.http dosya söz dizimi
Aşağıdaki bölümlerde dosya söz dizimi açıklanmaktadır .http .
İstekler
HTTP isteğinin biçimi, tek bir satırdadır HTTPMethod URL HTTPVersionve burada:
-
HTTPMethodkullanılacak HTTP yöntemidir, örneğin: -
URL, isteğin gönderiliyor olduğu URL'dir. URL, sorgu dizesi parametrelerini içerebilir. URL'nin yerel bir web projesine işaret etmek zorunda değildir. Visual Studio'nın erişebileceği herhangi bir URL'ye işaret edebilir. -
HTTPVersionisteğe bağlıdır ve kullanılması gereken HTTP sürümünü ( ,HTTP/1.1HTTP/2veyaHTTP/3) belirtir.
Bir dosya, sınırlayıcı olarak satırları ### kullanarak birden çok istek içerebilir. Bir dosyada üç isteği gösteren aşağıdaki örnekte bu söz dizimi gösterilmektedir:
GET https://localhost:7220/weatherforecast
###
GET https://localhost:7220/weatherforecast?date=2023-05-11&location=98006
###
GET https://localhost:7220/weatherforecast HTTP/3
###
İstek üst bilgileri
Bir veya daha fazla üst bilgi eklemek için, her üst bilgiyi istek satırından hemen sonra kendi satırına ekleyin. İstek satırıyla ilk üst bilgi arasına veya sonraki üst bilgi satırları arasına boş satır eklemeyin. Biçimi, aşağıdaki örneklerde gösterildiği gibi şeklindedir HeaderName: Value:
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
###
Önemli
Üst bilgilerle kimlik doğrulaması yapan bir API'yi çağırırken, bir kaynak kodu deposuna gizli dizi işlemeyin. Bu makalenin devamında ASP.NET Core kullanıcı gizli dizileri, Azure Key Vault ve DPAPI şifrelemesi gibi gizli dizileri depolamak için desteklenen yöntemlere bakın.
İstek içeriği
Aşağıdaki örnekte gösterildiği gibi istek gövdesini boş bir satırdan sonra ekleyin:
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"
}
###
Açıklamalar
Ya da #// açıklamalarla başlayan satırlar. Visual Studio HTTP istekleri gönderdiğinde bu satırlar yoksayılır.
Değişkenler
ile @ başlayan bir satır, söz dizimini @VariableName=Valuekullanarak bir değişken tanımlar.
Değişken adı büyük/küçük harfe duyarlıdır ve boşluk içeremez.
Değer, null değeri temsil eden değer null de dahil olmak üzere herhangi bir karakter içerebilir.
Daha sonra dosyada tanımlanan isteklerde değişkenlere başvurulabilir. Bunlara, adlarını çift küme ayracı ve {{içine sarmalayarak başvurulur}}. Aşağıdaki örnekte, bir istekte tanımlanan ve kullanılan iki değişken gösterilmektedir:
@hostname=localhost
@port=44320
GET https://{{hostname}}:{{port}}/weatherforecast
Değişkenler, dosyada daha önce tanımlanmış olan diğer değişkenlerin değerleri kullanılarak tanımlanabilir. Aşağıdaki örnek, önceki örnekte gösterilen iki değişken yerine istekte bir değişken kullanır:
@hostname=localhost
@port=44320
@host={{hostname}}:{{port}}
GET https://{{host}}/api/search/tool
Ortam dosyaları
Değişkenlere farklı ortamlarda farklı değerler vermek için adlı http-client.env.jsonbir dosya oluşturun. Dosyayı, dosyayla aynı dizinde .http veya üst dizinlerinden birinde bulun. Aşağıda bir ortam dosyası örneği verilmiştir:
{
"dev": {
"HostAddress": "https://localhost:44320"
},
"remote": {
"HostAddress": "https://contoso.com"
}
}
Ortam dosyası, önceki örnekteki "dev" ve "remote" gibi bir veya daha fazla adlandırılmış ortam içeren bir JSON dosyasıdır. Her adlandırılmış ortam, önceki örnekte olduğu gibi HostAddress bir veya daha fazla değişken içerir. Ortam dosyasındaki değişkenlere, aşağıdaki örnekte gösterildiği gibi diğer değişkenlerle aynı şekilde başvurulur:
GET {{HostAddress}}/api/search/tool
İstek gönderirken değişken için kullanılan değer, dosya düzenleyicisinin sağ üst köşesindeki .http bir ortam seçici açılan listesi tarafından belirlenir. Aşağıdaki ekran görüntüsünde seçici gösterilmektedir:
Ortam dosyasının proje klasöründe olması gerekmez. Visual Studio, dosyanın bulunduğu .http klasörde bir ortam dosyası arar. Bu klasörde değilse, Visual Studio bulmak için üst dizinlere bakar. adlı http-client.env.json bir dosya bulunduğunda arama sona erer. Dosyaya .http en yakın bulunan dosya kullanılır.
Dosyayı .http oluşturduktan veya düzenledikten sonra, ortam seçiciye yansıtılan değişiklikleri görmek için projeyi kapatıp yeniden açmanız gerekebilir. Ortam seçiciyi seçmek için F6 tuşuna basın.
Visual Studio aşağıdaki durumlarda uyarılar görüntüler:
- Dosya,
.httpdosyada veya ortam dosyasında tanımlanmayan.httpbir değişkene başvurur. - Ortam dosyası, dosyada
.httpbaşvurulmuyor bir değişken içeriyor.
Ortam dosyasında tanımlanan değişken, dosyada .http tanımlanan değişkenle aynı veya farklı olabilir. Bir değişken hem dosyada hem de .http ortam dosyasında tanımlanmışsa, dosyadaki .http değer ortam dosyasındaki değeri geçersiz kılar.
Paylaşılan değişkenler
$shared, birden çok ortam için aynı olan değerler için özel bir ortam adıdır. Örneğin, aşağıdaki ortam dosyasını (http-client.env.json):
{
"$shared": {
"HostAddress": "https://localhost:7293"
},
"dev1": {
"username": "dev1user"
},
"dev2": {
"username": "dev2user"
},
"staging": {
"username": "staginguser",
"HostAddress": "https://staging.contoso.com"
}
}
Yukarıdaki örnekte, $shared ortamı HostAddressdeğeriyle localhost:7293 değişkenini tanımlar. değeri HostAddress olan localhost:7293 değişkeni, HostAddresstanımlamayen ortamlar için varsayılan olarak çalışır.
dev1 veya dev2 ortamı tanımlandığında, HostAddress ve $shared bir dev1 değişkeni tanımlamadığından dev2 değeri HostAddress ortamından gelir.
staging ortamı tanımlandığında, HostAddress değeri https://staging.contoso.comolarak ayarlanır ve bu ayarlama ile varsayılan $shared geçersiz kılınır.
İstek değişkenleri
Aynı .http dosyasındaki bir HTTP isteğindeki değerleri başka bir http isteğine geçirebilirsiniz.
Aşağıdaki isteği adlandırmak için istek URL'sinin hemen öncesinde bulunan tek satırlı bir açıklama oluşturun. Örneğin, aşağıdaki satırlar isteği
loginadlandırmanın alternatif yollarını gösterir:# @name login https://contoso.com/api/login HTTP/1.1// @name login https://contoso.com/api/login HTTP/1.1Aynı HTTP dosyasındaki sonraki isteklerde, isteğe başvurmak için istek adını kullanın.
Yanıtın istediğiniz belirli bölümünü ayıklamak için aşağıdaki söz dizimini kullanın.
{{<request name>.(response|request).(body|headers).(*|JSONPath|XPath|<header name>)}}.Bu söz dizimi, isteklerin kendisinden veya yanıttan (
request|response) değerleri ayıklamanıza olanak tanır. İstek veya yanıt için, gövde veya başlıklardan değerleri ayıklayabilirsiniz (body|headers).bodyseçildiğinde söz diziminin*|JSONPath|XPathbölümü uygulanır:*yanıt içeriklerinin tamamını ayıklar.Örnek:
{{login.response.body.*}}JSON yanıtları için, belirli bir özelliği veya özniteliği ayıklamak için JSONPath kullanın.
Örnek:
{{login.response.body.$.token}}XML yanıtları için XPath kullanarak belirli bir özelliği veya özniteliği ayıklayın.
Örnek:
{{login.response.body./token}}
headersseçildiğinde, üst bilgi adı üst bilginin tamamını ayıklar. Header adları büyük/küçük harfe duyarlı değildir.Örnek:
{{login.response.headers.Location}}
Adlandırılmış bir isteğin yanıtına başvurmak istiyorsanız, önce yanıtını almak için adlandırılmış isteği el ile tetiklemeniz gerekir. Yanıttan değerleri ayıkladığınızda, istek birden çok kez gönderildiyse en son yanıtı alırsınız.
Örnek istek değişkeni kullanımı
Örneğin, HTTP dosyanızın çağıranın kimliğini doğrulayan bir isteği olduğunu ve bunu loginolarak adlandırdığını varsayalım. Yanıt gövdesi, tokenadlı bir özellikte taşıyıcı belirtecini içeren bir JSON belgesidir. Sonraki isteklerde, bu bearer token'ı bir Authorization üst bilgisinde kullanmak istiyorsunuz. Aşağıdaki örnek bunu yapar:
# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json
{
"username": "{{myusername}}",
}
###
GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}
###
Söz dizimi {{login.response.body.$.token}} taşıyıcı belirtecini temsil eder:
-
login: İstek adıdır. -
response: HTTP yanıt nesnesine başvurur. -
body: HTTP yanıtının gövdesine başvurur. -
$: Yanıt gövdesindeki JSON belgesinin kök öğesini temsil eder. -
token: JSON belgesi içindeki belirli özelliğe başvurur.
İstek değişkenlerini kullanmadan belirteci oturum açma yanıtından el ile ayıklamanız ve sonraki isteklerin üst bilgisine eklemeniz gerekir. İstek değişkenleri bu işlemi otomatikleştirmenizi sağlar.
Kullanıcıya özgü ortam dosyaları
Kullanıcıya özgü bir değer, bir geliştiricinin test etmek istediği ancak ekiple paylaşmak istemediği herhangi bir değerdir.
http-client.env.json dosyası varsayılan olarak kaynak denetime iade edilir, bu nedenle kullanıcıya özgü değerler eklemeyin. Bunun yerine, http-client.env.json.useradlı bir dosyaya kullanıcıya özgü değerler ekleyin.
http-client.env.json.user dosyası, http-client.env.json dosyasıyla aynı klasörde bulunur.
.user ile biten dosyalar, Visual Studio kaynak denetimi özellikleri kullanılırken varsayılan olarak kaynak denetiminden dışlanır.
http-client.env.json Dosya yüklendiğinde, Visual Studio eşdüzey http-client.env.json.user bir dosya arar. Bir değişken hem dosyadaki hem de http-client.env.json dosyadaki http-client.env.json.user bir ortamda tanımlanırsa, dosyadaki http-client.env.json.user değer kazanır.
Kullanıcıya özgü bir ortam dosyasının nasıl çalıştığını gösteren örnek bir senaryo aşağıda verilmiştir. Dosyada .http aşağıdaki içeriğe sahip olduğunu varsayalım:
GET {{HostAddress}}/{{Path}}
Accept: application/json
Dosyanın aşağıdaki içeriği içerdiğini varsayalım http-client.env.json :
{
"dev": {
"HostAddress": "https://localhost:7128",
"Path": "/weatherforecast"
},
"remote": {
"HostAddress": "https://contoso.com",
"Path": "/weatherforecast"
}
}
Ayrıca aşağıdaki içeriği içeren kullanıcıya özgü bir ortam dosyası olduğunu varsayalım:
{
"dev": {
"Path": "/swagger/index.html"
}
}
Kullanıcı "dev" ortamını seçtiğinde, dosyadaki değer dosyadaki değeri geçersiz kıldığından https://localhost:7128/swagger/index.html istek gönderilirPath.http-client.env.json.userhttp-client.env.json
Aynı ortam dosyalarıyla, değişkenlerin dosyada .http tanımlandığını varsayalım:
@HostAddress=https://contoso.com
@Path=/weatherforecast
GET {{HostAddress}}/{{Path}}
Accept: application/json
Bu senaryoda, dosyalardaki değişken tanımları ortam dosyası tanımlarını https://contoso.com/weatherforecast geçersiz kıldığından "dev" ortam isteği gönderilir.http.
ASP.NET Core kullanıcı gizli dizileri
Kullanıcı gizli dizilerinden bir değer almak için, ASP.NET Core projesiyle aynı klasörde bulunan bir ortam dosyasını kullanın. Ortam dosyasında ve provider özelliklerine sahip secretName bir değişken tanımlayın.
provider değerini AspnetUserSecrets olarak ayarlayın ve istenen kullanıcı gizli dizisinin adına ayarlayınsecretName. Örneğin, aşağıdaki ortam dosyası kullanıcı gizli dizisinden ApiKeyDev değerini alan adlı config:ApiKeyDev bir değişken tanımlar:
{
"dev": {
"ApiKeyDev": {
"provider": "AspnetUserSecrets",
"secretName": "config:ApiKeyDev"
}
}
}
Bu değişkeni dosyada .http kullanmak için standart değişken gibi başvurun. Örneğin:
GET {{HostAddress}}{{Path}}
X-API-KEY: {{ApiKeyDev}}
İstek gönderildiğinde, gizli dizinin değeri ApiKeyDev X-API-KEY üst bilgisindedir.
Siz dosyaya http yazarken, düzenleyici değişken adı için bir tamamlanma listesi gösterir ancak değerini göstermez.
Azure Key Vault
Azure Key Vault , Azure'da gizli dizi yönetimi için kullanılabilecek çeşitli anahtar yönetimi çözümlerinden biridir. Şu anda dosyalar için .http desteklenen üç gizli dizi deposundan Key Vault, gizli dizileri farklı kullanıcılar arasında paylaşmak için en iyi seçenektir. Kullanıcı Gizli Dizileri ve DPAPI şifrelemesi ASP.NET diğer iki seçenek kolayca paylaşılamaz.
Azure Key Vault'tan bir değer kullanmak için, visual studio'da istenen Key Vault'a erişimi olan bir hesapla oturum açmanız gerekir.
Gizli diziye erişmek için meta verileri içeren bir ortam dosyasında bir değişken tanımlayın. Değişkeni aşağıdaki örnekte adlandırılmıştır AKVSecret :
{
"dev": {
"AKVSecret": {
"provider": "AzureKeyVault",
"secretName": "SecretInKeyVault",
"resourceId": "/subscriptions/3a914c59-8175a9e0e540/resourceGroups/my-key-vault-rg/providers/Microsoft.KeyVault/vaults/my-key-vault-01182024"
}
}
}
değişkeni AKVSecret değerini Azure Key Vault'tan çeker. Aşağıdaki özellikler üzerinde AKVSecrettanımlanır:
| Veri Akışı Adı | Açıklama |
|---|---|
| sağlayıcı | Key Vault için her zaman kullanın AzureKeyVault. |
| secretName | Ayıklanması gereken gizli dizinin adı. |
| resourceId | Erişecek belirli Key Vault için Azure kaynak kimliği. |
Özelliğin resourceId değeri Azure portalında bulunabilir. Bulmak için Ayarlar > Özellikleri'ne gidin. için secretName, Azure portalındaki Gizli Diziler sayfasında görünen gizli dizinin adını kullanın.
Örneğin, aşağıdaki .http dosyada bu gizli dizi değerini kullanan bir istek vardır.
GET {{HostAddress}}{{Path}}
X-AKV-SECRET: {{akvSecret}}
DPAPI şifrelemesi
Windows'ta, hassas verileri şifrelemek için kullanılabilecek bir Veri Koruma API'si (DPAPI) vardır. Verileri şifrelemek için DPAPI kullanıldığında, şifrelenmiş değerler her zaman makineye özgüdür ve dosyalarda .http da kullanıcıya özgüdür. Bu değerler diğer kullanıcılarla paylaşılamaz.
Bir değeri şifrelemek için aşağıdaki konsol uygulamasını kullanın:
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);
Yukarıdaki konsol uygulaması System.Security.Cryptography.ProtectedData NuGet paketine başvurur. Şifrelenmiş değerin dosyada .http çalışmasını sağlamak için, kapsamı olarak ayarlanmış DataProtectionScope.CurrentUserşekilde şifreleyin. Şifrelenmiş değer, ortam dosyasına kopyalanıp yapıştırılabilen base64 kodlanmış bir dizedir.
Ortam dosyasında ve provider özelliklerine sahip value bir değişken oluşturun. olarak providerayarlayın Encrypted ve şifrelenmiş değere ayarlayınvalue. Örneğin, aşağıdaki ortam dosyası, değerini DPAPI ile şifrelenmiş bir dizeden alan adlı dpapiValue bir değişken tanımlar.
{
"dev": {
"dpapiValue": {
"provider": "Encrypted",
"value": "AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA5qwfg4+Bhk2nsy6ujgg3GAAAAAACAAAAAAAQZgAAAAEAACAAAAAqNXhXc098k1TtKmaI4cUAbJVALMVP1zOR7mhC1RBJegAAAAAOgAAAAAIAACAAAABKu4E9WC/zX5LYZZhOS2pukxMTF9R4yS+XA9HoYF98GzAAAAAzFXatt461ZnVeUWgOV8M/DkqNviWUUjexAXOF/JfpJMw/CdsizQyESus2QjsCtZlAAAAAL7ns3u9mEk6wSMIn+KNsW/vdAw51OaI+HPVrt5vFvXRilTtvGbU/JnxsoIHj0Z7OOxlwOSg1Qdn60zEqmlFJBg=="
}
}
}
Önceki ortam dosyasıyla, dpapiValue dosyada .http diğer değişkenler gibi kullanılabilir. Örneğin:
GET {{HostAddress}}{{Path}}
X-DPAPI-Secret: {{dpapiSecret}}
Bu istek gönderildiğinde, X-DPAPI-Secret şifresi çözülmüş gizli dizi değerine sahiptir.
Ortam değişkenleri
Ortam değişkeninin değerini almak için kullanın $processEnv. Aşağıdaki örnek, USERNAME ortam değişkeninin değerini X-UserName üst bilgisine yerleştirir.
GET {{HostAddress}}{{Path}}
X-UserName: {{$processEnv USERNAME}}
Var olmayan bir ortam değişkenine erişmek için $processEnv kullanmaya çalışırsanız, .http dosya düzenleyicisi bir hata iletisi görüntüler.
.env Dosyaları
Bir dosyada .env tanımlanan değişkenin değerini almak için kullanın $dotenv. Dosya .env proje klasöründe olmalıdır. için $dotenv biçimi ile aynıdır $processEnv. Örneğin, dosyada .env bu içerik varsa:
USERNAME=userFromDotenv
Dosyada .http şu içerik vardır:
GET {{HostAddress}}{{Path}}
X-UserName: {{$dotEnv USERNAME}}
Üst X-UserName bilgide "userFromDotenv" bulunur.
Düzenleyiciye girildiğinde $dotenv , dosyada .env tanımlanan değişkenlerin tamamlanmalarını gösterir.
Not
.env dosyalar varsayılan olarak kaynak denetiminden dışlanmayabilir, bu nedenle gizli dizi değerlerinin denetlenmemesi için dikkatli olun.
Rastgele tamsayılar
Rastgele bir tamsayı oluşturmak için kullanın $randomInt. Söz dizimi, {{$randomInt [min max]}} ve min değerlerinin max isteğe bağlı olduğu yerdir.
Tarihler ve saatler
-
$datetimeUTC'de birdatetimedize oluşturur. Söz dizimi,{{$datetime [format] [offset option]}}biçim ve uzaklık seçeneklerinin isteğe bağlı olduğu yerdir. -
$localDatetimeyerel saat diliminde birdatetimedize oluşturur. Söz dizimi,{{$localDatetime [format] [offset option]}}biçim ve uzaklık seçeneklerinin isteğe bağlı olduğu yerdir. -
$timestamputc olarak birtimestampoluşturur.timestamp, UTC saatinde Unix Dönemi'nin üzerinden geçen saniye sayısıdır. Söz dizimi,{{$timestamp [offset option]}}uzaklık seçeneğinin isteğe bağlı olduğu yerdir.
Seçenek[format], tırnak içinde , rfc1123veya özel bir biçimden biridiriso8601. Örneğin:
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}}
Yukarıdaki örneklerin oluşturduğu bazı örnek değerler şunlardır:
{
"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"
}
}
Söz [offset option] dizimi, tamsayı olan number formdadır unitnumber ve unit aşağıdaki değerlerden biridir:
unit |
Açıklama |
|---|---|
ms |
Milisaniye |
s |
Saniye |
m |
Dakika |
h |
Saat Sayısı |
d |
Gün sayısı |
w |
Hafta |
M |
Aylar |
y |
Yıl |
Örneğin:
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}}
Yukarıdaki örneklerin oluşturduğu bazı örnek değerler şunlardır:
{
"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"
}
}
Yukarıdaki örneklerden bazıları ücretsiz açık kaynak web sitesi <httpbin.org> kullanır. Bu, Microsoft'a bağlı olmayan bir üçüncü taraf web sitesidir. Bu örneklerde, istekte gönderilen üst bilgileri içeren bir yanıt gövdesi döndürür. Api testi için bu kaynağı kullanmanın diğer yolları hakkında bilgi için, httpbin.org sitesinin giriş sayfasınabakın.
Desteklenmeyen söz dizimi
Visual Studio 2022 .http dosya düzenleyicisi, Visual Studio Code REST İstemci uzantısının sahip olduğu tüm özelliklere sahip değildir. Aşağıdaki liste, yalnızca Visual Studio Code uzantısında kullanılabilen daha önemli özelliklerden bazılarını içerir:
- Birden fazla satıra yayılan istek satırı
- Dosya yolunu isteğin gövdesi olarak belirtin
- Çok parçalı/form-verileri kullanılırken gövde için karma biçim
- GraphQL istekleri
- cURL isteği
- cURL olarak kopyala/yapıştır
- İstek geçmişi
- Yanıt gövdesini dosyaya kaydetme
- Sertifika tabanlı kimlik doğrulaması
- İstem değişkenleri
- Yanıt önizlemesini özelleştirme
- İstek başına ayarlar
- Null koşullu veya null birleştirme işleçleri kullanma gibi null işleme değişkenleri (Visual Studio Code'da da desteklenmez)
Dosya oluşturma .http
Çözüm Gezgini bir ASP.NET Core projesine sağ tıklayın.
Bağlam menüsünde Yeni Öğe Ekle'yi>seçin.
Yeni Öğe Ekle iletişim kutusunda ASP.NET Çekirdek.
HTTP Dosyası'nın ardından Ekle'yi seçin.
HTTP isteği gönderme
İstek URL'si localhost'a ve projenin bağlantı noktasına işaret ederse, istek göndermeye çalışmadan önce projeyi çalıştırın.
Gönderilecek isteğin
Send Requestdoğrudan üstündeki veyaDebugbağlantısını seçin.İstek belirtilen URL'ye gönderilir ve yanıt düzenleyici penceresinin sağında ayrı bir bölmede görüntülenir.
.http dosya seçenekleri
Dosya davranışının .http bazı yönleri yapılandırılabilir. Kullanılabilir olanları görmek için Araçları>Seçenekleri>Metin Düzenleyicisi>Restbölümüne gidin. Örneğin, zaman aşımı ayarı Gelişmiş sekmesinde yapılandırılabilir. Seçenekler iletişim kutusunun ekran görüntüsü aşağıdadır:
Metin Düzenleyicisi ve Rest seçimini gösteren
Uç Nokta Gezgini'ni kullanma
Uç Noktalar Gezgini , bir web API'sinin tanımladığı tüm uç noktaları gösteren bir araç penceresidir. Araç, bir .http dosya kullanarak uç noktalara istek göndermenizi sağlar.
Uç Nokta Gezgini'nin görüntülediği ilk uç nokta kümesi statik olarak bulunur. Statik olarak bulunamaz bazı uç noktalar vardır. Örneğin, bir sınıf kitaplığı projesinde tanımlanan uç noktalar çalışma zamanına kadar bulunamaz. Bir web API'sini çalıştırdığınızda veya hatalarını ayıkladığınızda, Visual Studio sürüm 17.11 Preview çalışma zamanında uç noktaları dinamik olarak bulur ve bunları Uç Nokta Gezgini'ne ekler.
Uç Nokta Gezgini'ne gidin
Diğer Windows> tıklayın.
Dosyaya .http istek ekleme
Uç Nokta Gezgini'nde bir isteğe sağ tıklayın ve İstek Oluştur'a tıklayın.
- Dosya adı olarak proje adına sahip bir
.httpdosya varsa, istek bu dosyaya eklenir. - Aksi takdirde, dosya adı proje adıyla bir
.httpdosya oluşturulur ve istek bu dosyaya eklenir.
Yukarıdaki ekran görüntüsünde En Az API proje şablonu tarafından tanımlanan uç noktalar gösterilmektedir. Aşağıdaki örnekte, seçili uç nokta için oluşturulan istek gösterilmektedir:
GET {{WebApplication1_HostAddress}}/weatherforecast/
Accept: application/json
###
İsteği bu makalenin önceki bölümlerinde açıklandığı gibi gönderin.
Ayrıca bkz.
ASP.NET Core