Troubleshooting en veelvoorkomende problemen

Tijdens het werken met de dynamische API kun je tegen verschillende problemen aanlopen. In deze sectie behandelen we de meest voorkomende problemen en hun mogelijke oplossingen.

1. Authenticatieproblemen

Error: 401 Unauthorized

Een 401 Unauthorized status code betekent dat de server geen geldige inloggegevens heeft kunnen verifiëren om je toegang te verlenen tot een beveiligde bron.

Mogelijke oorzaken en oplossingen:

  1. Je JWT-token is verlopen. Log opnieuw in om een nieuw token te ontvangen
  2. Je token is niet correct opgenomen in de Authorization header. Controleer of je de header correct instelt:
    headers: {
      'Authorization': `Bearer ${token}`,
      'novi-education-project-id': 'ed30b6ec-f22a-4fa0-aceb-7aa8504e3e98',
    }
    
  3. De permissies in de JSON-configuratie zijn niet correct ingesteld. Controleer en update de permissies in je JSON-configuratiebestand

2. Permissieproblemen

Error: 403 Forbidden

Een 403 Forbidden status code betekent dat je niet de juiste machtigingen hebt om je gewenste acties uit te voeren.

Mogelijke oorzaken en oplossingen:

  1. De ingelogde gebruiker heeft niet de juiste rol. Log in met een gebruiker die de juiste rol heeft
  2. De permissies in de JSON-configuratie zijn niet correct ingesteld. Controleer en update de permissies in je JSON-configuratiebestand

3. Problemen met projectidentificatie

Error: 404 Not Found of andere API fouten

Een 404 Not Found status code betekent meestal dat de backend de gevraagde data of het juiste project niet kan vinden.

Mogelijke oorzaken en oplossingen:

  1. Ontbrekende of onjuiste novi-education-project-id header. Controleer of je de header correct instelt:
    headers: {
      'novi-education-project-id': 'ed30b6ec-f22a-4fa0-aceb-7aa8504e3e98'
    }
    
  2. Verkeerd project-GUID. Controleer of je het juiste project-GUID gebruikt (de unieke ID van je project)
  3. De data die je probeert op te halen bestaat niet. Gebruik bijvoorbeeld een GET-request in Swagger UI om te controleren of de data daadwerkelijk bestaat

4. Swagger UI problemen

Ik kan niet authenticeren of testen in Swagger UI

Mogelijke oorzaken en oplossingen:

  1. Verkeerd token format. Zorg ervoor dat je "Bearer" vóór je token zet in het Authorize-veld
  2. Browser cachingproblemen. Wis je browsercache of gebruik incognito/private mode
  3. Verkeerde URL of parameters. Controleer of je de juiste projectId in de URL hebt, bijvoorbeeld:
    /swagger-ui?projectId=ed30b6ec-f22a-4fa0-aceb-7aa8504e3e98
    
  4. Ontbrekende data in de request body (bij POST en PUT). Controleer of je alle verplichte velden meestuurt in de request body met de juiste datatypes
  5. Verkeerde data in de request body (bij PATCH). Controleer of je binnen de velden de juiste datatypes meestuurt

5. CORS-error

Ik krijg een netwerkfout of de melding dat mijn request is geblokkeerd door de CORS-policy

CORS staat voor Cross-Origin Resource Sharing. Het is een beveiligingsfunctie in de browser die bepaalt of een webpagina toegang mag krijgen tot een bron (zoals een API) die op een andere origin draait.

Een origin bestaat uit:

  • Het protocol (bijv. http)
  • De host (bijv. localhost)
  • De poort (bijv. 5173, 3000, etc.)

Als één van deze drie punten anders is, dan ziet de browser dit als een andere origin. Een CORS-error ontstaat dus wanneer je frontend data probeert op te halen van een backend met een andere origin, en de backend hier geen toestemming voor geeft. De browser zal de request dan automatisch blokkeren en een foutmelding geven in de console.

Mogelijke oorzaak en oplossing:

  1. Je draait je frontend op een andere poort dan 5173 of 3000. De backend accepteert alleen requests van http://localhost:5173 of http://localhost:3000. Start je frontend op één van deze poorten.