Testare le REST API con Visual Studio 2022
Con Visual Studio 2022, dalla versione 17.5 è possibile testare le REST API creando dei file con estensione .http o .rest.La stessa funzionalità è disponibile anche in Visual Studio Code.
che si traduce, ad esempio, in questo
oppure
se ho più comandi nello stesso file li devo separare con ###
In Visual Studio 2022 verranno visualizzati cosìTramite l'icona verde play a sinistra di ogni metodo è possibile eseguire la chiamata e vedere il risultato nella parte destra.
In questo caso possono tornare utile le variabili.
Le variabili devono iniziare con la @
e vanno richiamate con {{nomeVariabile}}
A questo punto l'esempio di prima può essere riscritto così
e verrà visualizzato in Visual Studio 2022 così
Purtroppo scenari più complessi, come ad esempio, prendere un valore da una chiamata e passarlo ad un altra non sono ancora possibili.
Sintassi
La sintassi per utilizzare il file è questaText: Template
[HTTP Method] [API Endpoint] [HTTP Version]
[Headers]
[Request Body (if applicable)]
Text: Get
GET https://localhost:44370/api/values HTTP/1.1
Accept: application/json
Text: Post
POST https://localhost:44370/api/values
Content-Type: {{contentType}}
"ciao"
Text: Multi
### get seplice
GET https://localhost:44370/api/values HTTP/1.1
Accept: application/json
### get con parametri
GET https://localhost:44370/api/values/1
Accept: application/json
### post valori
POST https://localhost:44370/api/values
Content-Type: application/json
"ciao"
Variabili
Ripetere ogni volta la url o altri dati può non essere comodo, e a volte serve passare, ad esempio, da un ambiente di sviluppo a uno di produzione.In questo caso possono tornare utile le variabili.
Le variabili devono iniziare con la @
Text: Definizione variabile
@apiUrl = https://localhost:44370
Text: Uso della variabile
### get seplice
GET {{apiUrl}}/api/values HTTP/1.1
Text: Multi con variabili
@apiUrl = https://localhost:44370
@id = 3
@contentType = application/json
### get seplice
GET {{apiUrl}}/api/values HTTP/1.1
Accept: application/json
### get con parametri
GET {{apiUrl}}/api/values/{{id}}
Accept: {{contentType}}
### post valori
POST {{apiUrl}}/api/values
Content-Type: {{contentType}}
"ciao"
Note
Nel caso di semplici chiamate questa tecnica torna utile e può sostituire Postman.Purtroppo scenari più complessi, come ad esempio, prendere un valore da una chiamata e passarlo ad un altra non sono ancora possibili.