Django en OpenAPI specification tijdens FlutterDevs
Tijdens FlutterDevs Doetinchem heb ik een praatje gegeven over Django en OpenAPI specification.
Iconica is een bedrijf dat Flutter apps bouwt. Ze organiseren ook de FlutterDevs meetup. Tijdens de meetup gaat één praatje over Flutter en één over aanvullende software.
Bart Ribbers is oud medewerker van Four Digits en nu werkzaam bij Iconica. Hij heeft mij gevraagd om een praatje over Django, omdat Django vaak als backend gebruikt wordt voor Flutter applicaties.
Mij leek het leuk om iets te vertellen over Django en OpenAPI specification.
Frustratie
Soms moet je als developer werken met een API en gaat alles moeizaam: Soms is er géén documentatie. Soms krijg je alleen wat credentials over de schutting. En moet je grasduinen om te ontdekken welke data beschikbaar is.
Development gaat dan op basis van aannames. Het duurt lang. Er gaat teveel mis.
Developers schrijven APIs, wij kunnen daarom ook zorgen dat we APIs opleveren die wel gebruiksvriendelijk zijn. Met OpenAPI specification maken we een betere wereld.
OpenAPI specification
De OpenAPI specification is een industrie standaard. Het is een exacte manier van het omschrijven hoe een API werkt. De output is een JSON- of YAML-bestand.
Met een OpenAPI schema kan je efficiënt werken en voorkom je fouten.

We hebben gekeken naar een eenvoudig voorbeeldproject. De minimale code voor een API geschreven met Django Rest Framework. En naar hoe DRF Spectacular helpt bij het genereren van het schema.
We hebben het schema bekeken en ontdekt wat je hier allemaal mee kan. Het schema is de basis voor:
- Documentatie
- Swagger UI
- Redoc
- Ook direct in je code editor
- Typing op basis van het schema in een NextJS project
- Autocomplete in je code editor
- Build failures als het schema niet gerespecteerd wordt
- Client code generation met OpenAPI Generator CLI
- Validatie en tests
- Schema genereren zonder warnings of errors
- Een API response valideren tegen het schema
Actie!
Als je een API schrijft, bied dan ook een OpenAPI specification schema aan. Werk efficiënt en voorkom fouten. Developers die met jouw API werken zullen blij zijn.
Video
Bekijk het praatje: