Gyakorlat – RESTful függvények készítése

Befejeződött

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

  1. Nyissa meg a fájlt a Visual Studio Code-ban api/src/index.ts .

  2. A GetProducts útvonaldefiníciójában korlátozza a methods tulajdonságot, hogy csak az értéket GETtartalmazza.

    methods: ['GET']
    
  3. Adja hozzá a route tulajdonságot egy teljes útvonal értékével products/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
    });
    
  4. 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

  1. A fájlban api/src/index.ts továbbra is korlátozza az engedélyezett methods tulajdonságot POST.

    methods: ['POST']
    
  2. Adja hozzá a route tulajdonságot egy teljes útvonal értékével products/api/products.

    route: 'products',
    

    A teljes útvonaldefiníció a következő:

    app.http('CreateProduct',{
        methods: ['POST'],
        route: 'products',
        authLevel: 'anonymous',
        handler: CreateProduct
    });
    
  3. Mentse a fájlt.

Az UpdateProduct függvény RESTfullá tétele

  1. A fájlban api/src/index.ts továbbra is korlátozza az engedélyezett methods tulajdonságot PUT.

    methods: ['PUT'],
    
  2. Adja hozzá a route tulajdonságot egy teljes útvonal értékével products/api/products.

    route: 'products',
    

    A teljes útvonaldefiníció a következő:

    app.http('UpdateProduct', {
        methods: ['PUT'],
        route: 'products',
        authLevel: 'anonymous',
        handler: UpdateProduct
    });
    
  3. Mentse a fájlt.

A DeleteProduct függvény RESTfullá tétele

  1. A fájlban api/src/index.ts továbbra is korlátozza az engedélyezett methods tulajdonságot DELETE.

     methods: ['DELETE']
    
  2. 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
    });
    
  3. Mentse a fájlt.

A projekt elindítása

  1. Indítsa el az Azure Functions-projektet az F5 billentyűvel.

  2. Figyelje meg, hogy a függvényvégpontok URL-címei mostantól eltérőek.

    Képernyőkép az új útvonalakon futó végpontokat megjelenítő Visual Studio Code-terminálról.

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ó.