Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf einen Blick
Ziel: Erstellen einer dynamischen Pseudo-API mit vollständigen CRUD-Vorgängen
Zeit: 15 Minuten
Plugins:CrudApiPlugin
Voraussetzungen:Einrichten des Dev-Proxys
Beim Erstellen von Apps interagieren Sie häufig mit Back-End-APIs. Manchmal sind diese APIs noch nicht verfügbar, oder andere Teams aktualisieren sie, um die neuesten Anforderungen zu erfüllen. Um das Warten zu vermeiden, erstellen Sie in der Regel eine simulierte API, die die benötigten Daten zurückgibt. Dieser Ansatz hilft Ihnen zwar dabei, die Blockade zu überwinden, Sie müssen jedoch Zeit darauf verwenden, eine API zu erstellen, die Sie später durch die tatsächliche ersetzen. Um zeitaufwendige Zeit zu vermeiden, können Sie Dev Proxy verwenden, um eine CRUD-API zu simulieren und die Entwicklung zu beschleunigen.
Mithilfe von CrudApiPlugin können Sie eine CRUD-API (Create, Read, Update, Delete) mit einem In-Memory-Datenspeicher simulieren. Mithilfe einer einfachen Konfigurationsdatei können Sie definieren, welche URLs Ihre Simuliert-API unterstützt und welche Daten zurückgegeben werden. Das Plug-In unterstützt auch CORS für die domänenübergreifende Nutzung von clientseitigen Anwendungen.
Während Sie mit MockResponsePlugin statische Mock-Antworten definieren können, können Sie mit CrudApiPlugin eine dynamische Mock-API definieren, mit der Sie mit Daten interagieren und sehen können, wie sich Ihre Änderungen im Mock-Datensatz widerspiegeln.
Szenario
Angenommen, Sie erstellen eine App, mit der Benutzer Kunden verwalten können. Um die Daten abzurufen, müssen Sie den /customers Endpunkt der Back-End-API aufrufen. Um nicht darauf warten zu müssen, dass das Back-End-Team seine Arbeit abschließt, entscheiden Sie sich dafür, Dev Proxy zu verwenden, um die API zu simulieren und die von Ihnen benötigten Daten zurückzuliefern.
Sie beginnen mit dem Aktivieren und Konfigurieren der CrudApiPlugin Datei für die Verwendung der customers-api.json Datei.
Datei:devproxyrc.json (Plug-In-Instanz)
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "customersApi"
}
Datei:devproxyrc.json (Config Section)
{
"customersApi": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/crudapiplugin.schema.json",
"apiFile": "customers-api.json"
}
}
In der customers-api.json Datei definieren Sie die simulierte Kunden-API.
Datei: customers-api.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.0/crudapiplugin.apifile.schema.json",
"baseUrl": "https://api.contoso.com/v1/customers",
"dataFile": "customers-data.json",
"actions": [
{
"action": "getAll"
},
{
"action": "getOne",
"url": "/{customer-id}",
"query": "$.[?(@.id == {customer-id})]"
},
{
"action": "create"
},
{
"action": "merge",
"url": "/{customer-id}",
"query": "$.[?(@.id == {customer-id})]"
},
{
"action": "delete",
"url": "/{customer-id}",
"query": "$.[?(@.id == {customer-id})]"
}
]
}
In der baseUrl Eigenschaft definieren Sie die Basis-URL der Pseudo-API. In der dataFile Eigenschaft definieren Sie die Datei, die simulierte Kundendaten enthält. In der actions Eigenschaft definieren Sie die unterstützten Aktionen und deren Zuordnung zu den HTTP-Methoden und URLs. Sie möchten Ihre API für Folgendes verwenden:
- Alle Kunden abrufen, indem
GET /v1/customersaufgerufen wird - rufen Sie einen einzelnen Kunden ab, indem Sie anrufen
GET /v1/customers/{customer-id} - einen neuen Kunden hinzufügen, indem Sie anrufen
POST /v1/customers, - einen Kunden aktualisieren, indem Sie
PATCH /v1/customers/{customer-id}anrufen, - Löschen eines Kunden durch Anrufen
DELETE /v1/customers/{customer-id}
In Ihren URLs verwenden Sie den {customer-id} Parameter, den das Plug-In durch die tatsächliche Kunden-ID aus der URL ersetzt. Das Plug-In verwendet auch den {customer-id} Parameter in einer JSONPath-Abfrage, um den Kunden in der Datendatei nachzuschlagen.
In der customers-data.json Datei definieren Sie die simulierten Kundendaten.
Datei:customers-data.json
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Sie starten Dev Proxy und rufen den https://api.contoso.com/v1/customers Endpunkt auf. Dev Proxy fängt die Anforderung ab und gibt die simulierten Kundendaten zurück.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Nächster Schritt
Erfahren Sie mehr über crudApiPlugin.
Beispiele
Siehe auch die zugehörigen Dev Proxy-Beispiele:
Siehe auch
- Simulierte Antworten – Zurückgeben statischer Simulierter Antworten
- Simulieren einer CRUD-API im Internet – Machen Sie Ihre simulierte API öffentlich verfügbar
- Simulieren einer CRUD-API, die mit einem API-Schlüssel gesichert ist – API-Schlüsselauthentifizierung hinzufügen
- Simulieren Sie eine mit Microsoft Entra gesicherte CRUD-API - Entra-Authentifizierung hinzufügen
- Glossar - Dev Proxy-Terminologie