Gå til innhold

Bygg et CRUD-API med FastAPI

I denne workshopen kommer du til å lage et HTTP-API: Noe et annet program kan gjøre et nettverkskall til for å lese og skrive informasjon til et datalager. Det kommer til å ha interaktiv dokumentasjon som forklarer forventet dataformat og validerering av innkommende data, uten at du trenger å gjøre annet enn å skrive python-funksjoner (med typeannotasjoner).

Beregnet tid er ca. tre timer.

Nødvendige forkunnskaper

Du er kjent med python, men har ikke nødvendigvis skrevet et API før. Hvis du kan funksjoner, dicts, lister og helt grunnleggende klasser har du det som trengs av forkunnskaper. Vi kommer til å se en del konsepter du kanskje ikke har sett før, som dekoratorer, typeannotasjoner og Annotated. Alle disse blir forklart etter hvert som de dukker opp.

Ingen forkunnskaper om HTTP eller APIer kreves. Metoder, statuskoder, headers, CRUD, REST... Alle disse er innhold, ikke forkunnskaper.

Hvordan bruke workshopen

Hvert steg har klare instruksjoner som gradvis bygger opp APIet vårt. Du kommer i tillegg til å se noen sånne her:

Observer → hvorfor?

Brekk noe med vilje, se hva som skjer, og prøv å tenke ut hvorfor. Mye av den dypere læringen kommer til å skje her. Alle kan kopiere kode og gjøre små endringer på den. Ved å bevege deg utenfor den oppmerkede stien får du innsikt i hva som egentlig skjer.

Hvis du sitter fast kommer svaret til å være ett klikk unna. Men prøv å gjette først.

Svaret

42

...Var jeg morsom nå?

To ting å merke seg før vi starter:

  • Du velger domene. I steg 4 velger du hva APIet ditt handler om. Eksemplene bruker Pokémon, og det gjør også løsningsforslaget.
  • Skriv koden selv, med dine egne fingre. Ikke kopier og lim, og ikke la Copilot skrive for deg (skru den av om du må). Det er treigere og krever mer av hjernen, og det igjen gjør at informasjonen fester seg. Aller helst skulle vi koblet tegnebrett til VS Code så vi kunne skrevet for hånd...

Stegene