From 5871c43d123531685e86ab8b4f0d5e3c943a507e Mon Sep 17 00:00:00 2001
From: Sander <alexander holt>
Date: Sun, 1 Mar 2020 22:02:01 +0100
Subject: [PATCH] Skrev mer utfyllende om endepunkter i README.md

---
 README.md | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index f0688df..2fd9ecc 100644
--- a/README.md
+++ b/README.md
@@ -134,8 +134,32 @@ devops/
 
 
 ## Endepunkter
-Endepunkt er URI som ressurser blir tilgjengelig på. Hvert endepunkt har en funskjon der de henter, legger til, eller endrer på informasjonen som tilhører adressen. 
-Et typisk endepunkt som bruker en GET-forespørsel henter ut HTML-side eller annen data fra server.
+Et endepunkt er definert med en URI, som i praksis er det samme som en URL. Endepunktene gir tilgang til såkalte ressurser, men en ressurs kan i praksis være
+hva som helst, så det er ikke så veldig spesifikt.
+I vår sammenheng kommer en ressurs til å være et sted vi enten kan hente data ut fra, eller sende data inn til. Alt som trengs for å sende/hente data
+er allerede programmert inn i systemet, så vi slipper å tenke på den delen. Det som er viktig for oss, er hvordan en URI er bygd opp, og hvilket HTTP-verb som
+brukes i sammenheng med den.
+
+Om en ser på oversikten over endepunkter vi har under, ser en at en del av URIene har klammeparenteser i seg. Disse klammeparentesene betyr at det er en variabel,
+og vil erstattes av en konkret verdi. Dette er mulig, fordi alle entitetene (se databasemodellen) får en ID når de opprettes, så disse er allerede tilgjengelige.
+Vi kan ta et eksempel:
+
+GET /user/{userId} vil bli f.eks. GET /user/1234, som vil hente ut all data for brukeren som har fått IDen '1234'
+PUT /user/{userId} vil bli f.eks. PUT /user/1234, og denne vil oppdatere data på brukeren med ID '1234'.
+
+POST blir en liten joker i dette tilfellet. Siden POST brukes for å opprette ting, og den tingen ikke har fått noen ID ennå (husk, denne IDen er det databasen
+selv om lager, ikke noe vi skal sende med), så blir URIen for å opprette en bruker blir simpelthen:
+
+POST /user
+
+Jeg skrev at POST brukes for å opprette ting, men dette er en sannhet med modifikasjoner. POST brukes også for å sende inn data som serveren trenger for å utføre
+oppgaver, selv om den ikke oppretter noe. Kalkulatoren er et godt eksempel på dette, hvor man må sende inn regnestykket man vil ha utført, men som ikke oppretter
+noe i databasen.
+
+Data blir sendt i kroppen på HTTP-requesten/responsen, i et format som kalles JSON. Som tidligere nevnt, dette er noe som allerede systemet tar seg av for oss,
+slik at vi slipper å tenke på det. Det eneste som kan være viktig i denne sammenhengen, er annotasjonene @Consumes og @Produces (se segmentet "Informasjon om server").
+Disse vil alltid være JSON for vår del, og det finnes eksempler på hvordan man gjør det i koden, noe som kan være greit å huske til man skal implementere egne 
+endepunkter, samt hvilket HTTP-verb man skal bruke (dette er stort sett oppgitt i oppgavene).
 
 | Endepunkt                         | Verb  | Hva                                       | Type  |
 | ---------                         | ---   | ---                                       | ----  |
@@ -241,4 +265,4 @@ websockets.
 | 3307      | Database til lokal kjøring        |
 | 3308      | Database til lokal testing        |
 | 8070      | Adminer (Databaseklient)          |
-| 8080      | Jenkins                           |
\ No newline at end of file
+| 8080      | Jenkins                           |
-- 
GitLab