Bagikan melalui


Menggunakan file .http di Visual Studio 2022

Editor file Visual Studio 2022.http menyediakan cara mudah untuk menguji proyek ASP.NET Core, terutama aplikasi API. Editor menyediakan UI yang:

  • Membuat dan memperbarui .http file.
  • Mengirim permintaan HTTP yang ditentukan dalam .http file.
  • Menampilkan respons.

Artikel ini berisi dokumentasi untuk:

.http Format file dan editor terinspirasi oleh ekstensiREST. Editor Visual Studio 2022 .http mengenali .rest sebagai ekstensi file alternatif untuk format file yang sama.

Prasyarat

.http sintaks file

Bagian berikut menjelaskan .http sintaks file.

Permintaan

Format untuk permintaan HTTP adalah HTTPMethod URL HTTPVersion, semua pada satu baris, di mana:

  • HTTPMethod adalah metode HTTP untuk digunakan, misalnya:
  • URL adalah URL untuk mengirim permintaan. URL dapat menyertakan parameter string kueri. URL tidak harus menunjuk ke proyek web lokal. Ini dapat menunjuk ke URL apa pun yang dapat diakses Visual Studio.
  • HTTPVersionbersifat opsional dan menentukan versi HTTP yang harus digunakan, yaitu, , HTTP/1.1HTTP/2, atau HTTP/3.

File dapat berisi beberapa permintaan dengan menggunakan baris dengan ### sebagai pemisah. Contoh berikut menunjukkan tiga permintaan dalam file yang mengilustrasikan sintaks ini:

GET https://localhost:7220/weatherforecast

###

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

###

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

###

Header permintaan

Untuk menambahkan satu atau beberapa header, tambahkan setiap header pada barisnya sendiri segera setelah baris permintaan. Jangan sertakan baris kosong antara baris permintaan dan header pertama atau di antara baris header berikutnya. Formatnya adalah HeaderName: Value, seperti yang ditunjukkan dalam contoh berikut:

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

###

Penting

Saat memanggil API yang mengautentikasi dengan header, jangan terapkan rahasia apa pun ke repositori kode sumber. Lihat metode yang didukung untuk menyimpan rahasia nanti di artikel ini, seperti rahasia pengguna ASP.NET Core, Azure Key Vault, dan enkripsi DPAPI.

Isi permintaan

Tambahkan isi permintaan setelah baris kosong, seperti yang ditunjukkan dalam contoh berikut:

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"
}

###

Komentar

Baris yang dimulai dengan atau #// adalah komentar. Baris ini diabaikan saat Visual Studio mengirim permintaan HTTP.

Variabel

Baris yang dimulai dengan @ mendefinisikan variabel dengan menggunakan sintaks @VariableName=Value.

Variabel dapat dirujuk dalam permintaan yang ditentukan nanti dalam file. Mereka dirujuk dengan membungkus namanya dalam kurung kurawal ganda, {{ dan }}. Contoh berikut menunjukkan dua variabel yang ditentukan dan digunakan dalam permintaan:

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

Variabel dapat didefinisikan menggunakan nilai variabel lain yang ditentukan sebelumnya dalam file. Contoh berikut menggunakan satu variabel dalam permintaan alih-alih keduanya ditampilkan dalam contoh sebelumnya:

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

File lingkungan

Untuk memberikan variabel nilai yang berbeda di lingkungan yang berbeda, buat file bernama http-client.env.json. Temukan file dalam direktori yang sama dengan .http file atau di salah satu direktori induknya. Berikut adalah contoh file lingkungan:

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

File lingkungan adalah file JSON yang berisi satu atau beberapa lingkungan bernama, seperti "dev" dan "remote" dalam contoh sebelumnya. Setiap lingkungan bernama berisi satu atau beberapa variabel, seperti HostAddress dalam contoh sebelumnya. Variabel dari file lingkungan dirujuk dengan cara yang sama seperti variabel lain, seperti yang ditunjukkan dalam contoh berikut:

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

Nilai yang digunakan untuk variabel saat mengirim permintaan ditentukan oleh dropdown pemilih lingkungan di sudut .http kanan atas editor file. Cuplikan layar berikut menunjukkan pemilih:

Editor file .http dengan pemilih lingkungan disorot. Lingkungan 'dev' dipilih.

File lingkungan tidak harus berada di folder proyek. Visual Studio mencari file lingkungan di folder tempat .http file berada. Jika tidak ada di folder tersebut, Visual Studio akan melihat direktori induk untuk menemukannya. Ketika file bernama http-client.env.json ditemukan, pencarian berakhir. File yang ditemukan terdekat dengan .http file digunakan.

Setelah membuat atau mengedit .http file, Anda mungkin harus menutup dan membuka kembali proyek untuk melihat perubahan yang tercermin dalam pemilih lingkungan. Tekan F6 untuk memilih pemilih lingkungan.

Visual Studio menampilkan peringatan dalam situasi berikut:

  • File .http mereferensikan variabel yang tidak ditentukan dalam .http file atau dalam file lingkungan.
  • File lingkungan berisi variabel yang tidak dirujuk dalam .http file.

Variabel yang ditentukan dalam file lingkungan dapat sama dengan yang didefinisikan dalam .http file, atau bisa berbeda. Jika variabel didefinisikan dalam .http file dan file lingkungan, nilai dalam .http file akan mengambil alih nilai dalam file lingkungan.

Variabel bersama

$shared adalah nama lingkungan khusus untuk nilai yang sama untuk beberapa lingkungan. Misalnya, pertimbangkan file lingkungan berikut (http-client.env.json):

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

Dalam contoh sebelumnya, lingkungan $shared menentukan variabel HostAddress dengan nilai localhost:7293. Variabel HostAddress dengan nilai localhost:7293 berfungsi sebagai default untuk lingkungan yang tidak menentukan HostAddress. Ketika lingkungan dev1 atau dev2 ditentukan, nilai untuk HostAddress berasal dari lingkungan $shared karena dev1 dan dev2 tidak menentukan variabel HostAddress. Saat lingkungan staging ditentukan, nilai untuk HostAddress diatur ke https://staging.contoso.com, mengambil alih default $shared.

Meminta variabel

Anda dapat meneruskan nilai dari satu permintaan HTTP ke permintaan HTTP lainnya dalam file .http yang sama.

  1. Buat komentar satu baris yang terletak tepat sebelum URL permintaan untuk memberi nama permintaan berikut. Misalnya, baris berikut menunjukkan cara alternatif untuk memberi nama permintaan login:

    # @name login
    https://contoso.com/api/login HTTP/1.1   
    
    // @name login
    https://contoso.com/api/login HTTP/1.1
    
  2. Dalam permintaan berikutnya dalam file HTTP yang sama, gunakan nama permintaan untuk merujuk ke permintaan.

  3. Gunakan sintaks berikut untuk mengekstrak bagian tertentu dari respons yang Anda inginkan.

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

    Sintaks ini memungkinkan Anda mengekstrak nilai dari permintaan itu sendiri atau dari respons terhadapnya (request|response). Untuk permintaan atau respons, Anda dapat mengekstrak nilai dari isi atau header (body|headers).

    Saat body dipilih, bagian *|JSONPath|XPath sintaks akan berlaku:

    • * mengekstrak seluruh isi respons.

      Contoh: {{login.response.body.*}}

    • Untuk respons JSON, gunakan JSONPath untuk mengekstrak properti atau atribut tertentu.

      Contoh: {{login.response.body.$.token}}

    • Untuk respons XML, gunakan XPath untuk mengekstrak properti atau atribut tertentu.

      Contoh: {{login.response.body./token}}

    Saat headers dipilih, nama header mengekstrak seluruh header. Nama header tidak peka huruf besar/kecil.

    Contoh: {{login.response.headers.Location}}

Jika Anda ingin merujuk pada respons dari suatu permintaan bernama, Anda harus memicu permintaan tersebut secara manual untuk mengambil responsnya terlebih dahulu. Saat Mengekstrak nilai dari respons, Anda akan mendapatkan respons terbaru jika permintaan telah dikirim lebih dari sekali.

Contoh penggunaan variabel permintaan

Misalnya, file HTTP Anda memiliki permintaan yang mengautentikasi pemanggil, dan Anda menamainya login. Isi respons adalah dokumen JSON yang berisi token pembawa dalam properti bernama token. Dalam permintaan berikutnya, Anda perlu meneruskan token pembawa ini di header Authorization. Contoh berikut melakukan ini:

# @name login

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

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

### 

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

### 

Sintaks {{login.response.body.$.token}} mewakili token pembawa:

  • login: Adalah nama permintaan.
  • response: Mengacu pada objek respons HTTP.
  • body: Mengacu pada isi respons HTTP.
  • $: Mewakili elemen akar dokumen JSON dalam isi respons.
  • token: Mengacu pada properti tertentu dalam dokumen JSON.

Tanpa menggunakan variabel permintaan, Anda harus mengekstrak token secara manual dari respons masuk dan menyertakannya di header permintaan berikutnya. Variabel permintaan memungkinkan Anda mengotomatiskan proses ini.

File lingkungan khusus pengguna

Nilai khusus pengguna adalah nilai apa pun yang ingin diuji oleh pengembang tetapi tidak ingin berbagi dengan tim. File http-client.env.json dicek masuk ke kontrol sumber secara default, oleh karena itu, JANGAN menambahkan nilai khusus pengguna ke file ini. Sebaliknya, tambahkan nilai khusus pengguna dalam file bernama http-client.env.json.user. File http-client.env.json.user terletak di folder yang sama dengan file http-client.env.json. File yang diakhir dengan .user dikecualikan dari kontrol sumber secara default saat menggunakan fitur kontrol sumber Visual Studio.

http-client.env.json Saat file dimuat, Visual Studio mencari file saudarahttp-client.env.json.user. Jika variabel didefinisikan dalam lingkungan dalam http-client.env.json file dan http-client.env.json.user file, nilai dalam http-client.env.json.user file akan menang.

Berikut adalah contoh skenario yang menunjukkan cara kerja file lingkungan khusus pengguna. Misalkan .http file memiliki konten berikut:

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

Dan misalkan http-client.env.json file berisi konten berikut:

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

Dan misalkan ada file lingkungan khusus pengguna yang berisi konten berikut:

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

Saat pengguna memilih lingkungan "dev", permintaan dikirim ke https://localhost:7128/swagger/index.html karena nilai dalam Path file mengambil alih nilai dari http-client.env.json.userhttp-client.env.json file.

Dengan file lingkungan yang sama, misalkan variabel ditentukan dalam .http file:

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

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

Dalam skenario ini, permintaan lingkungan "dev" dikirim ke https://contoso.com/weatherforecast karena definisi variabel dalam .http file mengambil alih definisi file lingkungan.

ASP.NET Rahasia pengguna Core

Untuk mendapatkan nilai dari rahasia pengguna, gunakan file lingkungan yang terletak di folder yang sama dengan proyek ASP.NET Core. Dalam file lingkungan, tentukan variabel yang memiliki provider properti dan secretName . Atur nilai ke providerAspnetUserSecrets dan atur secretName ke nama rahasia pengguna yang diinginkan. Misalnya, file lingkungan berikut menentukan variabel bernama ApiKeyDev yang mendapatkan nilainya dari config:ApiKeyDev rahasia pengguna:

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

Untuk menggunakan variabel ini dalam .http file, referensikan seperti variabel standar. Contohnya:

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

Saat permintaan dikirim, nilai ApiKeyDev rahasia berada di header X-API-KEY.

Saat Anda mengetik dalam http file, editor menunjukkan daftar penyelesaian untuk nama variabel tetapi tidak menunjukkan nilainya.

Azure Key Vault

Azure Key Vault adalah salah satu dari beberapa solusi manajemen utama di Azure yang dapat digunakan untuk manajemen rahasia. Dari tiga penyimpanan rahasia yang saat ini didukung untuk .http file, Key Vault adalah pilihan terbaik untuk berbagi rahasia di berbagai pengguna. Dua opsi lainnya—ASP.NET Rahasia Pengguna dan enkripsi DPAPI—tidak mudah dibagikan.

Untuk menggunakan nilai dari Azure Key Vault, Anda harus masuk ke Visual Studio dengan akun yang memiliki akses ke Key Vault yang diinginkan. Tentukan variabel dalam file lingkungan dengan metadata untuk mengakses rahasia. Variabel dinamai AKVSecret dalam contoh berikut:

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

Variabel AKVSecret menarik nilainya dari Azure Key Vault. Properti berikut didefinisikan pada AKVSecret:

Nama Deskripsi
penyedia Untuk Key Vault, selalu gunakan AzureKeyVault.
secretName Nama rahasia yang akan diekstrak.
resourceId ID sumber daya Azure untuk akses Key Vault tertentu.

Nilai untuk resourceId properti dapat ditemukan di portal Azure. > Pengaturan untuk menemukannya. Untuk secretName, gunakan nama rahasia yang muncul di halaman Rahasia di portal Azure.

Misalnya, file berikut .http memiliki permintaan yang menggunakan nilai rahasia ini.

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

Enkripsi DPAPI

Di Windows, ada API Perlindungan Data (DPAPI) yang dapat digunakan untuk mengenkripsi data sensitif. Ketika DPAPI digunakan untuk mengenkripsi data, nilai terenkripsi selalu spesifik untuk komputer, dan nilai tersebut juga khusus pengguna dalam .http file. Nilai-nilai ini tidak dapat dibagikan dengan pengguna lain.

Untuk mengenkripsi nilai, gunakan aplikasi konsol berikut:

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);

Aplikasi konsol sebelumnya mereferensikan paket System.Security.Cryptography.ProtectedData NuGet. Untuk mengaktifkan nilai terenkripsi agar berfungsi dalam .http file, enkripsi dengan cakupan yang diatur ke DataProtectionScope.CurrentUser. Nilai terenkripsi adalah string berkode base64 yang dapat disalin dan ditempelkan ke dalam file lingkungan.

Dalam file lingkungan, buat variabel yang memiliki provider properti dan value . Atur provider ke Encrypted, dan atur value ke nilai terenkripsi. Misalnya, file lingkungan berikut menentukan variabel bernama dpapiValue yang mendapatkan nilainya dari string yang dienkripsi dengan DPAPI.

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

Dengan file lingkungan sebelumnya, dpapiValue dapat digunakan dalam .http file seperti variabel lainnya. Contohnya:

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

Ketika permintaan ini dikirim, X-DPAPI-Secret memiliki nilai rahasia yang didekripsi.

Variabel lingkungan

Untuk mendapatkan nilai variabel lingkungan, gunakan $processEnv. Contoh berikut menempatkan nilai variabel lingkungan USERNAME di header X-UserName.

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

Jika Anda mencoba menggunakan $processEnv untuk mengakses variabel lingkungan yang tidak ada, editor file .http menampilkan pesan kesalahan.

.env File

Untuk mendapatkan nilai variabel yang ditentukan dalam .env file, gunakan $dotenv. File .env harus berada di folder proyek. Format untuk $dotenv sama dengan untuk $processEnv. Misalnya, jika .env file memiliki konten ini:

USERNAME=userFromDotenv

.http Dan file memiliki konten ini:

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

Header X-UserName akan memiliki "userFromDotenv".

Ketika $dotenv dimasukkan di editor, itu menunjukkan penyelesaian untuk variabel yang ditentukan dalam .env file.

Catatan

.env file mungkin tidak dikecualikan dari kontrol sumber secara default, jadi berhati-hatilah untuk menghindari pemeriksaan dalam nilai rahasia apa pun.

Bilangan bulat acak

Untuk menghasilkan bilangan bulat acak, gunakan $randomInt. Sintaksnya adalah {{$randomInt [min max]}} tempat min nilai dan max bersifat opsional.

Tanggal dan waktu

  • $datetime datetime menghasilkan string dalam UTC. Sintaksnya adalah {{$datetime [format] [offset option]}} tempat opsi format dan offset bersifat opsional.
  • $localDatetime datetime menghasilkan string di zona waktu lokal. Sintaksnya adalah {{$localDatetime [format] [offset option]}} tempat opsi format dan offset bersifat opsional.
  • $timestamp timestamp menghasilkan dalam UTC. adalah timestampjumlah detik sejak Unix Epoch dalam waktu UTC. Sintaksnya adalah {{$timestamp [offset option]}} tempat opsi offset bersifat opsional.

Opsinya [format] adalah salah satu dari rfc1123, iso8601, atau format kustom dalam tanda kutip. Contohnya:

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}}

Berikut adalah beberapa nilai sampel yang dihasilkan contoh sebelumnya:

{
  "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"
  }
}

Sintaksnya [offset option] adalah dalam bentuk numberunit di mana number adalah bilangan bulat dan unit merupakan salah satu nilai berikut:

unit Penjelasan
ms Milidetik
s Detik
m Menit
h Jam
d Hari
w Minggu
M Bulan
y Tahun

Contohnya:

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}}

Berikut adalah beberapa nilai sampel yang dihasilkan contoh sebelumnya:

{
  "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"
  }
}

Beberapa contoh sebelumnya menggunakan situs web <sumber terbuka gratis httpbin.org>. Ini adalah situs web pihak ketiga yang tidak berafiliasi dengan Microsoft. Dalam contoh ini, ia mengembalikan isi respons dengan header yang dikirim dalam permintaan. Untuk informasi tentang cara lain untuk menggunakan sumber daya ini untuk pengujian API, lihat halaman beranda situs httpbin.org.

Sintaksis yang tidak didukung

Editor file Visual Studio 2022 .http tidak memiliki semua fitur yang dimiliki ekstensiREST. Daftar berikut ini mencakup beberapa fitur yang lebih signifikan yang hanya tersedia di ekstensi Visual Studio Code:

  • Baris permintaan yang mencakup lebih dari satu baris
  • Tentukan jalur file sebagai isi permintaan
  • Format campuran untuk isi saat menggunakan multipart/form-data
  • Permintaan GraphQL
  • Permintaan cURL
  • Salin/tempel sebagai cURL
  • Riwayat permintaan
  • Simpan isi respons ke file
  • Autentikasi berbasis sertifikat
  • Variabel perintah
  • Menyesuaikan pratinjau respons
  • Pengaturan per permintaan

Membuat .http file

  • Di Penjelajah Solusi, klik kanan proyek ASP.NET Core.

  • Di menu konteks, pilih Tambahkan>Item Baru.

  • Dalam dialog Tambahkan Item Baru, pilih ASP.NET Core>General.

  • Pilih File HTTP, dan pilih Tambahkan.

    Dialog Tambahkan Item Baru memperlihatkan tipe File HTTP dipilih.

Kirim permintaan HTTP

  • Tambahkan setidaknya satu permintaan ke .http file dan simpan file.

  • Jika URL permintaan menunjuk ke localhost dan port proyek, jalankan proyek sebelum mencoba mengirim permintaan ke dalamnya.

  • Send Request Pilih tautan atau Debug yang berada tepat di atas permintaan yang akan dikirim.

    Permintaan dikirim ke URL yang ditentukan, dan respons muncul di panel terpisah di sebelah kanan jendela editor.

    Jendela editor file .http dengan tombol 'jalankan' disorot dan memperlihatkan panel respons.

.http opsi file

Beberapa aspek .http perilaku file dapat dikonfigurasi. Untuk melihat apa yang tersedia, buka Alat>Opsi>Editor Teks>Rest. Misalnya, pengaturan batas waktu dapat dikonfigurasi pada tab Tingkat Lanjut . Berikut adalah cuplikan layar dialog Opsi :

dialog Opsi memperlihatkan Pilihan Editor Teks dan Istirahat.

Menggunakan Penjelajah Titik Akhir

Endpoints Explorer adalah jendela alat yang menampilkan semua titik akhir yang ditentukan API web. Alat ini memungkinkan Anda mengirim permintaan ke titik akhir dengan menggunakan .http file.

Kumpulan awal titik akhir yang ditampilkan Endpoints Explorer ditemukan secara statis. Ada beberapa titik akhir yang tidak dapat ditemukan secara statis. Misalnya, titik akhir yang ditentukan dalam proyek pustaka kelas tidak dapat ditemukan hingga runtime. Saat Anda menjalankan atau men-debug API web, Pratinjau Visual Studio versi 17.11 menemukan titik akhir secara dinamis pada waktu proses juga dan menambahkannya ke Penjelajah Titik Akhir.

Buka Penjelajah Titik Akhir

Pilih Tampilkan>Penjelajah Titik Akhir Windows>Lainnya.

Menambahkan permintaan ke .http file

Klik kanan permintaan di Endpoints Explorer dan pilih Buat Permintaan.

Jendela Penjelajah Titik Akhir memperlihatkan menu konteks permintaan dengan pilihan menu 'Hasilkan Permintaan' disorot.

  • .http Jika file dengan nama proyek sebagai nama file ada, permintaan ditambahkan ke file tersebut.
  • Jika tidak, .http file dibuat dengan nama proyek sebagai nama file, dan permintaan ditambahkan ke file tersebut.

Cuplikan layar sebelumnya menunjukkan titik akhir yang ditentukan oleh templat proyek API minimal. Contoh berikut menunjukkan permintaan yang dihasilkan untuk titik akhir yang dipilih:

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

###

Kirim permintaan seperti yang dijelaskan sebelumnya dalam artikel ini.

Lihat juga