Ronald Kerssies | Jan 5, 2023

API-server PHP

Voorkennis
  • programmeer-basics, functions, OOP, MVC-frameworks, git
  • API-toepassen, json
Doel
  • API-server opzetten om data op te halen of CRUD-acties uit te voeren binnen een framework
PHP Logo C# Logo

Taken: Voer de code uit volgens “best practice” en eerder geleerde technieken. Deze opdrachten moet met een professioneel M*C-framework worden uitgevoerd, zoals:


Creating your own API-service  api

Alle request worden getest met een API-testtool, zoals Postman postman, bekijk eventueeel de Postman-les


  1. Maak een API-server in een framework met de volgende werking;
  • alle responses zijn in json, met daarbij extra meta-data ook in json
  • in de url is duidelijk welk model/databasetabel wordt aangesproken
  • key 'all' in de url levert alle records als response
  • een id (nummer) in de url levert een specifiek record uit een databasetabel op als response
  • een request met data in combinatie met de post-method voegt een record toe aan een databasetabel
  • een request met een id (nummer) en met een delelete-method in de url verwijdert een specifiek record uit een databasetabel
  • een request met een id (nummer) en met een put-method in de url update een specifiek record in een databasetabel
  • foutive API-url's geven een 404-response in json

In het framework zijn de volgende technische eigenschappen toegepast:

  • correcte api-url's om de requests van de url op te vangen


  1. Maak een API-server in een framework met de volgende werking;
  • maak pagination mogelijk door limits mee te geven aan de API-url met QSA
  • maak sortering op opgegeven kolommen mogelijk door de kolom en de manier (ASC / DESC) mee te geven aan de API-url met QSA

In het framework zijn de volgende technische eigenschappen toegepast:

  • correcte api-routes om de requests van de url op te vangen


  1. Maak een API-server in een framework met de volgende werking;
  • het aantal controller wordt geminimaliseerd door de werking te centraliseren en de tabel keuze te baseren op de model-naam in de url
  • de json-respons wordt door overerving op één plaats uitgewerkt voor alle verschillende responses
  • voeg validatie toe voor het toevoegen en aanpassen van records

De API-applicatie bevat is o.a. :

  • maak gebruik van de mogelijkheid om variabelen in de API-url te plaatsen
  • Objecten van een Model-class en Validatie-class worden dynamisch aangeroepen op basis van een variabele in de url
Op te leveren
  • een REST API-applicatie met;
    • die alle data uit verschillende database-tabellen kan teruggeven in json
    • die een enkel record uit verschillende database-tabellen kan teruggeven in json
    • die CRUD-acties kan uitvoeren op verschillende database-tabellen en een json response teruggeeft
    • alle responses zijn uitsluitend in JSON en hebben een key 'meta' met daarin o.a. de status, success, melding, evt validatie-fouten
    • foutieve API-requests geven een foutmelding en status in json terug
    • alle request kunnen worden getest in Postman