Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'uso di Dev Proxy è il modo più semplice per simulare un'API. Indipendentemente dal fatto che si stia creando il front-end e l'API non sia ancora pronta, è necessario integrare il back-end con un servizio esterno oppure testare l'applicazione con risposte diverse, Dev Proxy consente di simulare le risposte api. Integrando l'API con i servizi cloud, è necessario esporre l'API in Internet in modo che il servizio cloud possa accedervi. Per esporre risposte fittizie simulate da Dev Proxy in Internet, usare Dev Tunnels. Questo articolo illustra come configurare risposte fittizie da esporre in Internet tramite Dev Tunnels.
Definire risposte fittizie
Per esporre risposte fittizie simulate da Dev Proxy in Internet, iniziare configurando le simulazioni.
Importante
In questo momento, Dev Tunnels supporta solo l'esposizione di risposte fittizie HTTP in Internet.
Creare risposte fittizie
Creare un file denominato mocks.json che contiene le risposte fittizie per l'API personalizzata. Ad esempio, per simulare una GET richiesta a http://api.contoso.com/products, definire:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/mockresponseplugin.mocksfile.schema.json",
"mocks": [
{
"request": {
"url": "http://api.contoso.com/products",
"method": "GET"
},
"response": {
"headers": [
{
"name": "content-type",
"value": "application/json"
}
],
"body": [
{
"id": 1,
"name": "Contoso Coffee Beans",
"price": 12.99
},
{
"id": 2,
"name": "Contoso Espresso Machine",
"price": 249.99
}
]
}
}
]
}
È anche possibile simulare errori, risposte binarie o risposte condizionali usando statusCode, ntho bodyFragment.
Configurare MockResponsePlugin
Creare un file di configurazione del proxy di sviluppo denominato devproxyrc.json e abilitare :MockResponsePlugin
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "mocksPlugin"
}
],
"urlsToWatch": [
"http://api.contoso.com/*"
],
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Importante
Per trovare la corrispondenza con più endpoint, usare i caratteri jolly in urlsToWatch. Per garantire la corrispondenza corretta, inserire prima simulazioni più specifiche in mocks.json.
Verificare la configurazione
Verificare che le simulazioni funzionino correttamente eseguendo Dev Proxy e inviando richieste all'API fittizia.
Avviare Dev Proxy, supponendo di aver salvato la configurazione del proxy di sviluppo in un file denominato devproxyrc.json nella directory di lavoro corrente:
devproxy
Testare la simulazione inviando una richiesta tramite Dev Proxy:
curl -x http://127.0.0.1:8000 http://api.contoso.com/products
Dovrebbe essere visualizzato l'elenco di prodotti fittizi definito in mocks.json.
Esporre l'API fittizia con Dev Tunnels
Per esporre risposte fittizie su Internet, avviare un tunnel di sviluppo mappato alla porta del proxy di sviluppo. Configurare il tunnel per usare il nome host configurato per l'API fittizia.
Avvertimento
Consentire l'accesso anonimo a un tunnel di sviluppo significa che chiunque su Internet è in grado di connettersi al server locale, se può indovinare l'ID del tunnel di sviluppo.
devtunnel host -p 8000 -a --host-header api.contoso.com
Questo comando esegue il mapping della porta del proxy di sviluppo a un URL HTTP pubblico. È ora possibile accedere all'API fittizia da qualsiasi posizione:
curl http://<your-tunnel-id>-8000.<region>.devtunnels.ms/products