Con
Visual Studio 2022, dalla versione
17.5 è possibile testare le
REST API creando dei file con estensione
.http o
.rest.
File .restLa stessa funzionalità è disponibile anche in
Visual Studio Code.
Sintassi
La sintassi per utilizzare il file è questa
[HTTP Method] [API Endpoint] [HTTP Version]
[Headers]
[Request Body (if applicable)]
che si traduce, ad esempio, in questo
GET https://localhost:44370/api/values HTTP/1.1
Accept: application/json
oppure
POST https://localhost:44370/api/values
Content-Type: {{contentType}}
"ciao"
se ho più comandi nello stesso file li devo separare con
###### 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"
In
Visual Studio 2022 verranno visualizzati così
Esempio GETTramite l'icona verde
play a sinistra di ogni metodo è possibile eseguire la chiamata e vedere il risultato nella parte destra.
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
@@apiUrl = https://localhost:44370
e vanno richiamate con
{{nomeVariabile}}### get seplice
GET {{apiUrl}}/api/values HTTP/1.1
A questo punto l'esempio di prima può essere riscritto così
@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"
e verrà visualizzato in
Visual Studio 2022 così
descriptionNote
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.