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
- 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 voorkomenObjectInformatieObjectValidator
om te valideren dat de synchronisatie van een object-informatieobject relatie pas kan nadat deze relatie in het DRC gemaakt isIsImmutableValidator
- valideer dat bepaalde velden niet gewijzigd worden bij een (partial) update, maar wel mogen gezet worden bij een createResourceValidator
- 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