Denna uppgift bygger vidare på js--fetch-intro och låter er utforska ytterligare möjligheter med Fetch API. Förutom att hämta data från en extern server kan ni använda det här verktyget för att skapa, uppdatera och radera data. Rekommenderas att göras i grupp.
- C reate
- R ead
- U pdate
- D elete
- Det finns redan en
BASE_URLför ett mock API. För att det ska bli en fullständig endpoint behöver ni kedja på en route/path- Just nu finns
/usersoch/dawgs. Utökadb.jsonom ni önskar fler routes. Namnet på keyn blir namnet på routen. - Läs dokumentationen noga om ni väljer ett annat API. Den ska tillåta alla CRUD actions. Ibland kan det även krävas att ni skapar en token för att få använda API:t
- Just nu finns
- Följ guiden för att sätta upp JSON Server om ni inte valt ett eget API.
- Skriv logiken för att hämta, skapa, uppdatera och radera data från det API:et
- Testa att skicka många olika slags key value pairs när ni skapar ny data - Arrayer, länkar till bilder etc.
- Hantera eventuella errors och oväntad respons
- Bekräfta att ni får tillbaka förväntad respons och att dina ändringar har effekt
Med hjälp av NPM-paketet json-server kan vi skapa ett mock REST API utan att behöva bry oss om rate limiting, access tokens och liknande hinder. Detta kräver en mindre set-up. Följ guiden nedan:
- Installera paketet globalt på din dator med
npm install -g json-server(Eller lokalt för denna repo. Isåfall måste du först initiera enpackage.json-fil mednpm init) - Starta upp en lokal JSON-server med
json-server --watch db.json. Den kommer automatiskt att välja port 3000 på local host. Du kan använde--portflaggan om du vill specifikt använda en annan port - Exempelvisjson-server --watch db.json --port 8000- Notera
db.jsoni andra halvan av kommandot. Det betyder attdb.jsonär din mock-databas som JSON Server håller koll på.
- Notera
- Du har nu en lokal REST API att hämta, skapa, uppdatera och radera data från.
- Skapa ett UI för att visa upp hämtad data från API:et
- Exempelvis en card layout för att visa upp datan i de olika objekten på ett snyggt sätt
- Använd dribble.com eller liknande sida för att hitta designprototyper
- Skapa ett formulär som kör PUT/PATCH-anropet när dess data skickas