Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Att använda Dev Proxy är det enklaste sättet att håna ett API. Oavsett om du skapar klientdelen och API:et inte är klart än, måste du integrera serverdelen med en extern tjänst, eller om du vill testa programmet med olika svar, kan Dev Proxy hjälpa dig att simulera API-svar. När du integrerar ditt API med molntjänster måste du exponera ditt API över internet så att molntjänsten kan komma åt det. Om du vill exponera falska svar som simulerats av Dev Proxy via Internet använder du Dev Tunnels. Den här artikeln beskriver hur du konfigurerar simulerade svar som ska göras tillgängliga via internet med Dev Tunnels.
Definiera falska svar
Om du vill exponera falska svar som simulerats av Dev Proxy via Internet börjar du med att konfigurera mocks.
Viktigt!
För närvarande har Dev Tunnels endast stöd för att exponera HTTP-falska svar över internet.
Skapa falska svar
Skapa en fil med namnet mocks.json som innehåller svar för teständamål för ditt anpassade API. Om du till exempel vill simulera en GET begäran till http://api.contoso.com/productsdefinierar du:
{
"$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
}
]
}
}
]
}
Du kan också simulera fel, binära svar eller villkorsstyrda svar med hjälp av statusCode, ntheller bodyFragment.
Konfigurera MockResponsePlugin
Skapa en Dev Proxy-konfigurationsfil med namnet devproxyrc.json och aktivera 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"
}
}
Viktigt!
Om du vill matcha flera slutpunkter använder du jokertecken i urlsToWatch. För att säkerställa korrekt matchning bör du placera mer specifika testmoduler först i din mocks.json.
Verifiera konfigurationen
Kontrollera att mocks fungerar korrekt genom att köra Dev Proxy och skicka begäranden till det simulerade API:et.
Starta Dev Proxy, förutsatt att du har sparat Dev Proxy-konfigurationen i en fil med namnet devproxyrc.json i den aktuella arbetskatalogen:
devproxy
Testa din mock genom att skicka en begäran via Dev Proxy:
curl -x http://127.0.0.1:8000 http://api.contoso.com/products
Du bör få den simulerade produktlistan som definierats i mocks.json.
Exponera det falska API:et med Dev Tunnels
Om du vill exponera falska svar över internet startar du en utvecklingstunnel som mappats till Dev Proxy-porten. Konfigurera tunneln så att den använder det värdnamn som konfigurerats för det simulerade API:et.
Varning
Att tillåta anonym åtkomst till en utvecklingstunnel innebär att alla på Internet kan ansluta till din lokala server, om de kan gissa utvecklingstunnel-ID:t.
devtunnel host -p 8000 -a --host-header api.contoso.com
Det här kommandot mappar Dev Proxy-porten till en offentlig HTTP-URL. Nu kan du komma åt ditt falska API var som helst:
curl http://<your-tunnel-id>-8000.<region>.devtunnels.ms/products