1.0.2 • Published 1 year ago
@govforms/api-definition v1.0.2
API-Definition
In diesem Projekt wird die Definition der REST-API abgelegt.
- Produktionssystem: (offen)
- Developmentsystem: https://api.dev.govconnect.de
Bei Änderungen im Branch develop werden nach erfolgreichem Test die Seiteninhalte der gerenderten API-Dokumentation im Developmentsystem deployed.
Hinzufügen neuer Definitionen
Routen
- YAML-Datei in einem sinnvollen Unterordner in
src/api/v1/
anlegen. - Route nach OpenAPI-Spezifikation ab dem Http-Version (
get
,post
, etc.) definieren. - In der
openapi.yaml
unterpaths
die URL ergänzen und mit$ref
auf die angelegte Datei verlinken.
Requests/Responses
- Request- und Response-Typen werden als JSON-Datei zur Routen-YAML-Datei abgelegt und in der YAML-Datei unter
responses
undrequests
entsprechend referenziert.
Prozesskonfigurationen
- Neue Prozesskonfigurationen werden in
src/api/v1/configuration/processes
als JSON-Datei abgelegt.
Prozesse
- Neue Prozesse werden in
src/processes
als JSON-Datei abgelegt. - Die Prozessdefinition ist unter in der
openapi.yaml
untercomponents.schemas
abzulegen.
Verwendung in Projekten
composer
- Als Repository hinzufügen:
"repositories": [{
"type": "vcs",
"url": "git@gitlab.govconnect.de:govconnect/pap/api-definition.git"
}]
- Abhängigkeit ergänzen:
"require-dev": {
"govforms/api-definition": "v1.0.0"
}
pnpm
- Als Abhängigkeit ergänzen:
"devDependencies": {
"@govforms/api-definition": "git+ssh://git@gitlab.govconnect.de/govconnect/pap/api-definition.git#v1.0.0"
}
Versionierung
Die Versionierung wird nach Semantic Versioning umgesetzt. Bei Major-Versionsupdates muss die Ordnerstruktur ebenfalls in der Versionierung angepasst werden (v1
vs. v2
, etc.).