Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Dev Proxy lehetővé teszi a CRUD API-k szimulálására anélkül, hogy létre kellene őket készítenie. Az API-k Dev Proxyval történő szimulálásával időt takaríthat meg, és felgyorsíthatja a fejlesztést. Ha az API-t felhőszolgáltatásokkal integrálja, az API-t az interneten keresztül kell elérhetővé tennie, hogy a felhőszolgáltatás hozzáférhessen. Az interneten a Dev Proxy által szimulált CRUD API közzétételéhez a Dev Tunnelslehet használni. Ez a cikk bemutatja, hogyan konfigurálhat egy CRUD API-t úgy, hogy az interneten keresztül a Dev Tunnels használatával legyen közzétéve.
Borravaló
A cikkben szereplő CRUD API a Northwind-adatbázis fejlesztői proxymintáján alapul,.
A CRUD API konfigurálása, hogy az interneten keresztül legyen közzétéve
A Dev Proxy által az interneten szimulált CRUD API közzétételéhez először konfigurálja a CRUD API-t.
Fontos
Jelenleg csak http CRUD API-kat tehet közzé az interneten a Dev Tunnels használatával.
A CRUD API-adatok definiálása
Hozzon létre egy orders-data.jsonnevű adatfájlt, amely a CRUD API-t használja, például:
[
{
"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"
}
]
A CRUD API konfigurálása
Ezután hozza létre a orders-api.jsonnevű API-konfigurációs fájlt, ahol megadhatja a CRUD API URL-címét, műveleteit és adatfájlját. Mindenképpen adjon meg EGY HTTP-URL-címet a baseUrl tulajdonságban:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.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})]"
}
]
}
Fejlesztői proxykonfiguráció definiálása
Ezután hozzon létre egy devproxyrc.json nevű dev proxy konfigurációs fájlt, amelyen engedélyezve van a CrudApiPlugin. A Dev Proxy konfigurálása a CRUD API-hoz konfigurált URL-cím meghallgatásához:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "ordersApi"
}
],
"urlsToWatch": [
"http://api.northwind.com/*"
],
"ordersApi": {
"apiFile": "orders-api.json"
}
}
Konfiguráció ellenőrzése
Ellenőrizze, hogy a CRUD API megfelelően működik-e a Dev Proxy futtatásával és a kérések CRUD API-nak való küldésével.
Indítsa el a Dev Proxyt, feltéve, hogy a Dev Proxy konfigurációját egy devproxyrc.json nevű fájlba mentette az aktuális munkakönyvtárban:
devproxy
A CRUD API meghívása curl használatával:
$ 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"
}
]
A CRUD API elérhetővé tehető az interneten keresztül
A CRUD API internetes közzétételéhez indítsa el a Dev Proxy portra leképezett fejlesztői alagutat. Állítsa be az alagutat, hogy a CRUD API számára konfigurált gazdagépnevet használja.
Figyelmeztetés
Ha engedélyezi a névtelen hozzáférést egy fejlesztői alagúthoz, az azt jelenti, hogy az interneten bárki csatlakozhat a helyi kiszolgálóhoz, ha kitalálják a fejlesztői alagút azonosítóját.
$ 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
Hívja meg a CRUD API-t, amelyet a Dev Proxy a dev alagúton keresztül szimulál a curl használatával:
$ 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"
}
]