JSON, REST & POSTMAN Flashcards
Hvad står JSON for, og hvad bruges det til?
JavaScript Object Notation og er et letvægtigt dataformat, der bruges til at udveksle data mellem systemer. Det er nemt for mennesker at læse og skrive, og nemt for maskiner at parse og generere. JSON bruges ofte i API’er og webapplikationer til at sende og modtage data.
Hvilke to hovedstrukturer er JSON baseret på?
- Objekter – en samling af navn/værdi-par
- Arrays – en ordnet liste af værdier
Er JSON afhængig af JavaScript?
Nej, JSON er sproguafhængigt. Selvom det er baseret på en undergruppe af JavaScript, kan det bruges i næsten alle programmeringssprog, herunder Python, Java, C++, C#, PHP osv.
Hvordan repræsenteres et JSON-objekt?
Et JSON-objekt er en uordnet samling af navn/værdi-par, omgivet af {}
Hvordan repræsenteres et JSON-array?
Et JSON-array er en liste af værdier, omgivet af []
Hvilke datatyper understøtter JSON?
- String (tekst i dobbelte anførselstegn) → “hello”
- Number (heltal eller decimaltal) → 42, 3.14
- Boolean → true, false
- Null → null
- Object (nøgle-værdi par) → { “name”: “Alice” }
- Array (liste af værdier) → [1, 2, 3]
Hvordan parser man en JSON-struktur i JavaScript?
bruge JSON.parse() til at konvertere en JSON-string til et objekt
Hvordan kan JSON bruges i API’er?
bruges ofte i REST API’er til at sende og modtage data mellem en server og en klient.
Hvad gør @JsonIgnore?
skjuler et felt, så det ikke vises i API-responsen (serialisering)
Hvad er ulempen ved @JsonIgnore?
Feltet ignoreres, når data modtages (deserialisering).
Hvordan kan man bruge @JsonIgnore, så feltet stadig kan modtages i en POST-request?
Man placerer @JsonIgnore på getteren i stedet for feltet. Password kan stadig modtages i en POST-request, men bliver ikke vist i API-responsen.
Hvad gør @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)?
Feltet kan modtages i en POST-request, men bliver aldrig vist i API-responsen. Bedre end @JsonIgnore, fordi password stadig kan gemmes i objektet
Hvad står REST for, og hvad er det?
REST (Representational State Transfer) er en arkitekturstil til webservices, hvor ressourcer tilgås via HTTP-metoder.
Hvad er de seks vigtigste constraints i REST?
REST har seks constraints, der sikrer en skalerbar og fleksibel arkitektur:
- Client-Server 🖥️🔄📱 → Klienten og serveren er adskilte enheder.
- Stateless ❌🔄 → Hver request indeholder al nødvendig info (ingen sessioner).
- Cacheable 📦⚡ → Responsen kan caches for bedre ydeevne.
- Uniform Interface 🌍🔗 → Samme standardiserede API-struktur (ressource-baseret).
- Layered System 🏗️ → API’et kan have flere lag (fx load balancer, sikkerhed).
- Code on Demand (valgfrit) 💾 → Klienten kan få eksekverbar kode fra serveren.
Hvad betyder det, at REST er “resource-based”?
API’et er bygget omkring ressourcer (nouns) såsom users, products, orders, i stedet for handlinger (getUser, updateOrder osv.).
Hvilke HTTP-metoder bruges i REST, og hvad gør de?
GET 🔍 → Henter data
POST ➕ → Opretter ny data
PUT 🛠️ → Opdaterer hele ressourcen
PATCH ✏️ → Opdaterer delvist
DELETE ❌ → Sletter en ressource
Hvad er en “representation” i REST?
En representation er den form, data bliver overført i (typisk JSON eller XML)
Hvad betyder “stateless” i REST?
Serveren gemmer ikke sessionstilstand – hver request skal indeholde al nødvendig information.
Hvorfor skal man ikke bruge verber i URL’er i REST?
Fordi HTTP-metoderne (GET, POST, PUT, PATCH, DELETE) allerede angiver handlingen. URL’en skal kun repræsentere ressourcen (noun).
Hvad betyder det, at GET-metoder skal være “safe”?
GET må ikke ændre data på serveren – den bruges kun til at hente data.
Hvad betyder det, at PUT og DELETE er idempotente?
Gentagne kald giver samme resultat. PUT: Opdaterer ressourcen, men ændrer ikke yderligere ved gentagne kald.
DELETE: Sletter ressourcen, men en ekstra sletning vil ikke gøre noget.
POST + PATCH er ikke
Hvad er “safety” i HTTP-metoder?
Safe metoder: GET, HEAD, OPTIONS
Ikke safe: POST, PUT, PATCH, DELETE
Hvad er Postman?
et API-testværktøj, der bruges til at sende HTTP requests (GET, POST, PUT, DELETE osv.) og se serverens respons.
Hvad sker der, hvis du bruger GET på et endpoint, der kun accepterer POST?
405 Method Not Allowed – Serveren afviser requesten, fordi GET ikke er tilladt på dette endpoint.
Hvad er forskellen på en GET og en POST Request?
GET: henter data uden at ændre noget.
POST: sender data og opretter eller ændrer en ressource på serveren.
Hvordan sender man en POST Request i Postman?
- Vælg POST som metode.
- Gå til Body og vælg raw → JSON.
- Indsæt JSON-data i korrekt format.
- Tryk Send.