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: Verfügbarmachen der CRUD-API über Dev-Tunnel
Zeit: 15 Minuten
Plugins:CrudApiPlugin
Voraussetzungen:Einrichten von Dev-Proxy, Dev-Tunneln
Dev Proxy ermöglicht es Ihnen, CRUD-APIs zu simulieren , ohne sie erstellen zu müssen. Durch das Simulieren von APIs mit Dev Proxy können Sie Zeit sparen und die Entwicklung beschleunigen. Wenn Sie Ihre API in Clouddienste integrieren, müssen Sie Ihre API über das Internet verfügbar machen, damit der Clouddienst darauf zugreifen kann. Verwenden Sie Dev Tunnels, um eine CRUD-API verfügbar zu machen, die von Dev Proxy im Internet simuliert wird. In diesem Artikel wird erläutert, wie Sie eine CRUD-API konfigurieren, die über das Internet mithilfe von Dev Tunnels verfügbar gemacht werden soll.
Tipp
Die CRUD-API in diesem Artikel basiert auf dem Dev Proxy-Beispiel für die Northwind-Datenbank.
Konfigurieren der CRUD-API, die im Internet verfügbar gemacht werden soll
Um eine VON Dev Proxy im Internet simulierte CRUD-API verfügbar zu machen, konfigurieren Sie zunächst die CRUD-API.
Von Bedeutung
Derzeit können Sie http CRUD-APIs nur über das Internet mithilfe von Dev Tunnels verfügbar machen.
Definieren der CRUD-API-Daten
Erstellen Sie eine Datendatei namens orders-data.json, die die CRUD-API zurückgibt, z. B.:
Datei: orders-data.json
[
{
"OrderID": 10248,
"CustomerID": "VINET",
"EmployeeID": 5,
"OrderDate": "1996-07-04T00:00:00",
"RequiredDate": "1996-08-01T00:00:00",
"ShippedDate": "1996-07-16T00:00:00",
"ShipVia": 3,
"Freight": 32.38,
"ShipName": "Vins et alcools Chevalier",
"ShipAddress": "59 rue de l'Abbaye",
"ShipCity": "Reims",
"ShipPostalCode": "51100",
"ShipCountry": "France"
},
{
"OrderID": 10249,
"CustomerID": "TOMSP",
"EmployeeID": 6,
"OrderDate": "1996-07-05T00:00:00",
"RequiredDate": "1996-08-16T00:00:00",
"ShippedDate": "1996-07-10T00:00:00",
"ShipVia": 1,
"Freight": 11.61,
"ShipName": "Toms Spezialitäten",
"ShipAddress": "Luisenstr. 48",
"ShipCity": "Münster",
"ShipPostalCode": "44087",
"ShipCountry": "Germany"
}
]
Konfigurieren der CRUD-API
Erstellen Sie als Nächstes die API-Konfigurationsdatei namens orders-api.json, in der Sie die CRUD-API-URL, die zugehörigen Vorgänge und die Datendatei angeben. Achten Sie darauf, eine HTTP-URL in der baseUrl Eigenschaft anzugeben:
Datei: orders-api.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/crudapiplugin.apifile.schema.json",
"baseUrl": "http://api.northwind.com/orders",
"auth": "none",
"dataFile": "orders-data.json",
"actions": [
{
"action": "getAll"
},
{
"action": "getOne",
"url": "/{order-id}",
"query": "$.[?(@.OrderID == {order-id})]"
},
{
"action": "create"
},
{
"action": "merge",
"url": "/{order-id}",
"query": "$.[?(@.OrderID == {order-id})]"
},
{
"action": "delete",
"url": "/{order-id}",
"query": "$.[?(@.OrderID == {order-id})]"
}
]
}
Definieren der Dev Proxy-Konfiguration
Erstellen Sie als Nächstes eine Dev Proxy-Konfigurationsdatei mit dem Namen devproxyrc.json und aktivieren Sie CrudApiPlugin. Konfigurieren Sie den Dev-Proxy so, dass er auf die URL horcht, die Sie für Ihre CRUD-API konfiguriert haben.
Datei: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/rc.schema.json",
"plugins": [
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "ordersApi"
}
],
"urlsToWatch": [
"http://api.northwind.com/*"
],
"ordersApi": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/crudapiplugin.schema.json",
"apiFile": "orders-api.json"
}
}
Überprüfen der Konfiguration
Stellen Sie sicher, dass die CRUD-API ordnungsgemäß funktioniert, indem Sie Dev Proxy ausführen und Anforderungen an die CRUD-API senden.
Starten Sie Dev Proxy, vorausgesetzt, Sie haben die Dev Proxy-Konfiguration in einer Datei gespeichert, die im aktuellen Arbeitsverzeichnis benannt ist devproxyrc.json :
devproxy
Rufen Sie die CRUD-API mit curl auf:
$ curl -x http://127.0.0.1:8000 http://api.northwind.com/orders
[
{
"OrderID": 10248,
"CustomerID": "VINET",
"EmployeeID": 5,
"OrderDate": "1996-07-04T00:00:00",
"RequiredDate": "1996-08-01T00:00:00",
"ShippedDate": "1996-07-16T00:00:00",
"ShipVia": 3,
"Freight": 32.38,
"ShipName": "Vins et alcools Chevalier",
"ShipAddress": "59 rue de l'Abbaye",
"ShipCity": "Reims",
"ShipPostalCode": "51100",
"ShipCountry": "France"
},
{
"OrderID": 10249,
"CustomerID": "TOMSP",
"EmployeeID": 6,
"OrderDate": "1996-07-05T00:00:00",
"RequiredDate": "1996-08-16T00:00:00",
"ShippedDate": "1996-07-10T00:00:00",
"ShipVia": 1,
"Freight": 11.61,
"ShipName": "Toms Spezialitäten",
"ShipAddress": "Luisenstr. 48",
"ShipCity": "Münster",
"ShipPostalCode": "44087",
"ShipCountry": "Germany"
}
]
Verfügbarmachen der CRUD-API im Internet
Um die CRUD-API im Internet verfügbar zu machen, starten Sie einen Dev-Tunnel, der dem Dev Proxy-Port zugeordnet ist. Konfigurieren Sie den Tunnel für die Verwendung des Hostnamens, der für die CRUD-API konfiguriert ist.
Warnung
Der anonyme Zugriff auf einen Entwicklungstunnel bedeutet, dass jeder im Internet eine Verbindung mit Ihrem lokalen Server herstellen kann, wenn er die Dev-Tunnel-ID erraten kann.
$ devtunnel host -p 8000 -a --host-header api.northwind.com
Hosting port: 8000
Connect via browser: https://vpfm55qw.euw.devtunnels.ms:8000, https://vpfm55qw-8000.euw.devtunnels.ms
Inspect network activity: https://vpfm55qw-8000-inspect.euw.devtunnels.ms
Ready to accept connections for tunnel: vpfm55qw
Rufen Sie die CRUD-API auf, die von Dev Proxy über einen Entwicklungstunnel mit curl simuliert wird.
$ curl https://vpfm55qw-8000.euw.devtunnels.ms/orders
[
{
"OrderID": 10248,
"CustomerID": "VINET",
"EmployeeID": 5,
"OrderDate": "1996-07-04T00:00:00",
"RequiredDate": "1996-08-01T00:00:00",
"ShippedDate": "1996-07-16T00:00:00",
"ShipVia": 3,
"Freight": 32.38,
"ShipName": "Vins et alcools Chevalier",
"ShipAddress": "59 rue de l'Abbaye",
"ShipCity": "Reims",
"ShipPostalCode": "51100",
"ShipCountry": "France"
},
{
"OrderID": 10249,
"CustomerID": "TOMSP",
"EmployeeID": 6,
"OrderDate": "1996-07-05T00:00:00",
"RequiredDate": "1996-08-16T00:00:00",
"ShippedDate": "1996-07-10T00:00:00",
"ShipVia": 1,
"Freight": 11.61,
"ShipName": "Toms Spezialitäten",
"ShipAddress": "Luisenstr. 48",
"ShipCity": "Münster",
"ShipPostalCode": "44087",
"ShipCountry": "Germany"
}
]