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.
Alkalmazások létrehozásakor gyakran használ háttér API-kat. Előfordulhat, hogy ezek az API-k még nem érhetők el, vagy más csapatok frissítik őket, hogy megfeleljenek a legújabb követelményeknek. A várakozás elkerülése érdekében általában egy szimulált API-t hoz létre, amely visszaadja a szükséges adatokat. Bár ez a megközelítés feloldja az akadályt, időt kell szánnia olyan API létrehozására, amelyet végül lecserél a valódira. A felesleges idő elkerülése érdekében a Dev Proxy használatával szimulálhatja a CRUD API-t, és felgyorsíthatja a fejlesztést.
A CrudApiPlugin segítségével egy CRUD (létrehozás, olvasás, frissítés, törlés) API-t szimulálhat egy memóriabeli adattárral. Egy egyszerű konfigurációs fájl használatával meghatározhatja, hogy a modell API mely URL-címeket támogatja, és milyen adatokat ad vissza. A beépülő modul emellett támogatja a CORS-t az ügyféloldali alkalmazások tartományközi használatához.
Ahol a MockResponsePlugin statikus modellválaszok definiálhatók, az CrudApiPlugin lehetővé teszi egy dinamikus szimulált API definiálását, amellyel kezelheti az adatokat, és megtekintheti a módosításokat a szimulált adatkészletben.
Eset
Például olyan alkalmazást készít, amely lehetővé teszi a felhasználók számára az ügyfelek kezelését. Az adatok lekéréséhez meg kell hívnia a /customers háttér API végpontját. Annak érdekében, hogy a háttérrendszer csapata ne várjon a munkájuk befejezésére, úgy dönt, hogy a Dev Proxy használatával szimulálja az API-t, és visszaadja a szükséges adatokat.
Először engedélyezze a CrudApiPlugin fájlt, és konfigurálja azt a customers-api.json fájl használatára.
{
"name": "CrudApiPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "customersApi"
}
{
"customersApi": {
"apiFile": "customers-api.json"
}
}
A customers-api.json fájlban határozza meg a tesztügyfelek API-t.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.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})]"
}
]
}
A tulajdonságban baseUrl meg kell határoznia a modell API alap URL-címét. A tulajdonságban dataFile meg kell határoznia azt a fájlt, amely az ügyféladatok szimulálásához használt adatokat tartalmazza. A tulajdonságban actions meg kell határoznia a támogatott műveleteket és azok HTTP-metódusokkal és URL-címekkel való leképezését. Az API-t a következő célokra szeretné használni:
- az összes ügyfél lekérése a
GET /v1/customershívásával - Egyetlen ügyfél megszerzése telefonon keresztül,
GET /v1/customers/{customer-id} - új ügyfél hozzáadása hívással
POST /v1/customers, - egy ügyfél tájékoztatása telefonon keresztül
PATCH /v1/customers/{customer-id} - ügyfél törlése hívással
DELETE /v1/customers/{customer-id}
Az URL-címekben a {customer-id} paramétert használod, amelyet a plugin az URL-ből származó tényleges ügyfélazonosítóra cserél. A beépülő modul egy {customer-id} JSONPath-lekérdezés paraméterével is megkeresi az ügyfelet az adatfájlban.
A fájlban customers-data.json meg kell határoznia a modell ügyféladatait.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Indítsa el a dev proxyt, és hívja meg a végpontot https://api.contoso.com/v1/customers . A Dev Proxy elfogja a kérést, és visszaadja a modell ügyféladatait.
[
{
"id": 1,
"name": "Contoso",
"address": "4567 Main St Buffalo, NY 98052"
},
{
"id": 2,
"name": "Fabrikam",
"address": "4567 Main St Buffalo, NY 98052"
}
]
Következő lépés
További információ a CrudApiPluginról.
Példák
Lásd még a kapcsolódó Dev Proxy-mintákat: