VNG-API-common - Tooling voor RESTful APIs
VNG-API-common biedt generieke implementaties en tooling voor RESTful APIs in een Common Ground gegevenslandschap.
De tooling wordt o.a. gebruikt in de referentie-implementaties van componenten voor zaakgericht werken, maar ook in VNG-APIs voor referentielijsten en de Gemeentelijke Selectielijst.
Zie de uitgebreide documentatie voor de features en het gebruik.
Contents
1 Features
- Centraal beheer van constanten die de verschillende componenten overstijgen
- GeoJSON OpenAPI definities
- Support voor Geo CRS negotation
- Ingebouwde support voor nested viewsets met declaratievere syntax voor registratie
-
- Vaak voorkomende validators:
-
- RSIN/BSN validator
- Numerieke waarde validator
- Niet-negatieve waarde validator
- Alfanumerieke waarde (zonder diacritics)
- URL-validator (test dat URL bestaat) met pluggable link-checker
-
UntilNowValidator
- valideer datetimes tot en met nu. -
UniekeIdentificatieValidator
(in combinatie met organisatie) -
InformatieObjectUniqueValidator
om te valideren dat M2M entries slechts eenmalig voorkomen -
ObjectInformatieObjectValidator
om te valideren dat de synchronisatie van een object-informatieobject relatie pas kan nadat deze relatie in het DRC gemaakt is -
IsImmutableValidator
- valideer dat bepaalde velden niet gewijzigd worden bij een (partial) update, maar wel mogen gezet worden bij een create -
ResourceValidator
- valideer dat een URL een bepaalde resource ontsluit
-
- Custom inspectors voor drf-yasg:
-
- Support voor
rest_framework_gis
GeometryField
- SUpport voor
django-extra-fields
Base64FieldMixin
- URL-based related resource filtering (
django-filter
support) - verzameling van mogelijke error-responses per operation
- Support voor
-
- Management command
generate_swagger
overloaded -
- neemt default versie mee en maakt server-informatie domein-agnostisch
- optie om informatiemodel-resources naar markdown te renderen met backlinks naar gemmaonline.nl
- Management command
- Support voor ISO 8601 durations
-
- Custom model fields:
-
RSINField
BSNField
LanguageField
VertrouwelijkheidsAanduidingField
DaysDurationField
- Mocks voor de validators die netwerk IO hebben, eenvoudig via
@override_settings
toe te passen - Test utilities
-
- Optionele notificaties applicatie:
-
- ontvangen van webhook events
- configureren en registreren van notificatiecomponent/webhooks