Gyakorlat – RESTful függvények készítése
A Products Manager API komoly stílusfrissítésre készül, a Tailwind Traders fejlesztőjének jóvoltából. Ebben a gyakorlatban az összes eddig létrehozott függvényt a REST követelményeinek megfelelővé, azaz RESTfullá teszi a konfigurációs fájljaik módosításával.
GetProducts-útvonal RESTfulvá tétele
Nyissa meg a fájlt a Visual Studio Code-ban
api/src/index.ts
.A GetProducts útvonaldefiníciójában korlátozza a
methods
tulajdonságot, hogy csak az értéketGET
tartalmazza.methods: ['GET']
Adja hozzá a
route
tulajdonságot egy teljes útvonal értékévelproducts
/api/products
.route: 'products',
A teljes útvonaldefiníció a következő:
app.http('GetProducts', { methods: ['GET'], route: 'products', // <- route: /api/products authLevel: 'anonymous', handler: GetProducts });
Mentse a fájlt.
Feljegyzés
A fájl mentése miatt az Azure Functions-folyamat leállítja a hibakeresőt, és megszakad. Aggodalomra semmi ok. Semmit sem rontott el. Csak arról van szó, hogy alapvetően módosította a függvények kikínálásának módját, ezért amikor végzett a REST-nagytakarítással, újra kell indítania a projektet.
A CreateProduct függvény RESTfullá tétele
A fájlban
api/src/index.ts
továbbra is korlátozza az engedélyezettmethods
tulajdonságotPOST
.methods: ['POST']
Adja hozzá a
route
tulajdonságot egy teljes útvonal értékévelproducts
/api/products
.route: 'products',
A teljes útvonaldefiníció a következő:
app.http('CreateProduct',{ methods: ['POST'], route: 'products', authLevel: 'anonymous', handler: CreateProduct });
Mentse a fájlt.
Az UpdateProduct függvény RESTfullá tétele
A fájlban
api/src/index.ts
továbbra is korlátozza az engedélyezettmethods
tulajdonságotPUT
.methods: ['PUT'],
Adja hozzá a
route
tulajdonságot egy teljes útvonal értékévelproducts
/api/products
.route: 'products',
A teljes útvonaldefiníció a következő:
app.http('UpdateProduct', { methods: ['PUT'], route: 'products', authLevel: 'anonymous', handler: UpdateProduct });
Mentse a fájlt.
A DeleteProduct függvény RESTfullá tétele
A fájlban
api/src/index.ts
továbbra is korlátozza az engedélyezettmethods
tulajdonságotDELETE
.methods: ['DELETE']
Frissítse az útvonalat úgy, hogy a termékazonosítót útvonalparaméterként használja.
route: 'products/{id}',
A teljes útvonaldefiníció a következő:
app.http('DeleteProduct', { methods: ['DELETE'], route: 'products/{id}', authLevel: 'anonymous', handler: DeleteProduct });
Mentse a fájlt.
A projekt elindítása
Indítsa el az Azure Functions-projektet az F5 billentyűvel.
Figyelje meg, hogy a függvényvégpontok URL-címei mostantól eltérőek.
Milyen derék kis API! Egyszerűen szépséges. Figyelje meg, hogy pontosan ugyanazt az útvonalat adta meg a CreateProduct, az UpdateProduct és a DeleteProduct függvényhez. Csak a HTTP-kérési metódus más. Három URL-címet egyké alakított, miközben továbbra is három végpontja van. Ön egy varázsló.