Vi pratade inledande lite mer kring CORS och hur man kan konfigurera det till att släppa igenom bara vissa domäner istället för alla.

Sen gick vi igenom workshop:en från i torsdags och skapade en React-app som konsumerade vårt API, lade in router och annat gott.

Efter lunch pratade vi om JSend som gör att vi kan harmonisera våra responses så att vi lättare kan programatiskt tolka dem som konsumenter av API:et.

Kolla gärna på länkarna nedan om JSend.


Länkar

JSend

https://github.com/omniti-labs/jsend

In the JSend specification, what is the difference between a fail and an error?

https://stackoverflow.com/questions/53199033/in-the-jsend-specification-what-is-the-difference-between-a-fail-and-an-error

jsend (npm)

Bibliotek för att hjälpa till med formatteringen av JSend-kompatibla responses. Tycker dock personligen det nästan är lättare att göra det själv och förtjänsten från ett bibliotek är minimal.

https://www.npmjs.com/package/jsend

Using CORS in Express

https://github.com/expressjs/cors


Workshop

Då det är självstudiedag imorgon tisdag så är eftermiddagens workshop lite större då det är tänkt att ni ska syssla med den imorgon också.

Steg 1. Implementera JSend på resterande cafee-endpoints.

Ändra resten av våra metoder till att wrappa sina responses i JSend-envelopes (dvs POST, PUT och DELETE).

Steg 2. Utöka med endpoints för categories och owners.

Utöka API:et med endpoints för ägare och kategorier (index + show).

Steg 2.5. Och konsumera dem via din React-app

Lägg därefter till dem i din React-app också, så att man kan se alla kategorier/ägare och kunna klicka in på dem. Funktionaliteten ska vara samma som HTML-gränssnittet i node-appen.

Steg 3. Lägg till skapa/redigera/radera café i React-appen

Skapa funktionalitet i din React-app för att skapa ett nytt café, redigera ett befintligt café och även för att radera ett café, så att vi har återskapat samtlig funktionalitet från vår Express/EJS-app.

Steg 4. Profit! 💰

sleep();