JSON, REST & POSTMAN Flashcards

1
Q

Hvad står JSON for, og hvad bruges det til?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hvilke to hovedstrukturer er JSON baseret på?

A
  1. Objekter – en samling af navn/værdi-par
  2. Arrays – en ordnet liste af værdier
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Er JSON afhængig af JavaScript?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hvordan repræsenteres et JSON-objekt?

A

Et JSON-objekt er en uordnet samling af navn/værdi-par, omgivet af {}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hvordan repræsenteres et JSON-array?

A

Et JSON-array er en liste af værdier, omgivet af []

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvilke datatyper understøtter JSON?

A
  1. String (tekst i dobbelte anførselstegn) → “hello”
  2. Number (heltal eller decimaltal) → 42, 3.14
  3. Boolean → true, false
  4. Null → null
  5. Object (nøgle-værdi par) → { “name”: “Alice” }
  6. Array (liste af værdier) → [1, 2, 3]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvordan parser man en JSON-struktur i JavaScript?

A

bruge JSON.parse() til at konvertere en JSON-string til et objekt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvordan kan JSON bruges i API’er?

A

bruges ofte i REST API’er til at sende og modtage data mellem en server og en klient.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvad gør @JsonIgnore?

A

skjuler et felt, så det ikke vises i API-responsen (serialisering)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvad er ulempen ved @JsonIgnore?

A

Feltet ignoreres, når data modtages (deserialisering).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvordan kan man bruge @JsonIgnore, så feltet stadig kan modtages i en POST-request?

A

Man placerer @JsonIgnore på getteren i stedet for feltet. Password kan stadig modtages i en POST-request, men bliver ikke vist i API-responsen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvad gør @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)?

A

Feltet kan modtages i en POST-request, men bliver aldrig vist i API-responsen. Bedre end @JsonIgnore, fordi password stadig kan gemmes i objektet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvad står REST for, og hvad er det?

A

REST (Representational State Transfer) er en arkitekturstil til webservices, hvor ressourcer tilgås via HTTP-metoder.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvad er de seks vigtigste constraints i REST?

A

REST har seks constraints, der sikrer en skalerbar og fleksibel arkitektur:

  1. Client-Server 🖥️🔄📱 → Klienten og serveren er adskilte enheder.
  2. Stateless ❌🔄 → Hver request indeholder al nødvendig info (ingen sessioner).
  3. Cacheable 📦⚡ → Responsen kan caches for bedre ydeevne.
  4. Uniform Interface 🌍🔗 → Samme standardiserede API-struktur (ressource-baseret).
  5. Layered System 🏗️ → API’et kan have flere lag (fx load balancer, sikkerhed).
  6. Code on Demand (valgfrit) 💾 → Klienten kan få eksekverbar kode fra serveren.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvad betyder det, at REST er “resource-based”?

A

API’et er bygget omkring ressourcer (nouns) såsom users, products, orders, i stedet for handlinger (getUser, updateOrder osv.).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvilke HTTP-metoder bruges i REST, og hvad gør de?

A

GET 🔍 → Henter data
POST ➕ → Opretter ny data
PUT 🛠️ → Opdaterer hele ressourcen
PATCH ✏️ → Opdaterer delvist
DELETE ❌ → Sletter en ressource

17
Q

Hvad er en “representation” i REST?

A

En representation er den form, data bliver overført i (typisk JSON eller XML)

18
Q

Hvad betyder “stateless” i REST?

A

Serveren gemmer ikke sessionstilstand – hver request skal indeholde al nødvendig information.

19
Q

Hvorfor skal man ikke bruge verber i URL’er i REST?

A

Fordi HTTP-metoderne (GET, POST, PUT, PATCH, DELETE) allerede angiver handlingen. URL’en skal kun repræsentere ressourcen (noun).

20
Q

Hvad betyder det, at GET-metoder skal være “safe”?

A

GET må ikke ændre data på serveren – den bruges kun til at hente data.

21
Q

Hvad betyder det, at PUT og DELETE er idempotente?

A

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

22
Q

Hvad er “safety” i HTTP-metoder?

A

Safe metoder: GET, HEAD, OPTIONS
Ikke safe: POST, PUT, PATCH, DELETE

23
Q

Hvad er Postman?

A

et API-testværktøj, der bruges til at sende HTTP requests (GET, POST, PUT, DELETE osv.) og se serverens respons.

24
Q

Hvad sker der, hvis du bruger GET på et endpoint, der kun accepterer POST?

A

405 Method Not Allowed – Serveren afviser requesten, fordi GET ikke er tilladt på dette endpoint.

25
Q

Hvad er forskellen på en GET og en POST Request?

A

GET: henter data uden at ændre noget.
POST: sender data og opretter eller ændrer en ressource på serveren.

26
Q

Hvordan sender man en POST Request i Postman?

A
  1. Vælg POST som metode.
  2. Gå til Body og vælg raw → JSON.
  3. Indsæt JSON-data i korrekt format.
  4. Tryk Send.