EP-001D-APPLICATION-REST-CONTRACT
EP-001D – Anwendungs- und REST-Vertrag#
Zweck#
Der Contract materialisiert die ersten Anwendungsfälle von BB-EP-003 [[ART-DEF-0001|Artifact]] Management als Application Commands/Queries und versionierte HTTP-Ressourcen.
Use Cases#
- Artefakte auflisten.
- Artefakt mit aktueller Revision anzeigen.
- Artefakt mit erster Revision erzeugen.
- Neue unveränderliche Revision mit Optimistic-Concurrency-Prüfung speichern.
Ports#
ArtifactRepositoryAuthorizerIdentityResolverIDGeneratorClock
REST#
| Methode | Pfad | Zweck |
|---|---|---|
| GET | /api/v1/artifacts |
gefilterte, paginierte Artefaktliste |
| POST | /api/v1/artifacts |
Artefakt und erste Revision erzeugen |
| GET | /api/v1/artifacts/{artifactId} |
Artefakt und aktuelle Revision lesen |
| POST | /api/v1/artifacts/{artifactId}/revisions |
neue Revision anhängen |
Fehlerabbildung#
- 400 ungültige Eingabe
- 401 nicht authentifiziert
- 403 nicht autorisiert
- 404 nicht gefunden
- 409 Revisionskonflikt
- 500 interner Fehler ohne Preisgabe technischer Details
Invarianten#
- HTTP-DTOs sind keine Domänenobjekte.
- Fachliche Validierung liegt in Domain/Application Layer.
- Autorisierung wird nicht dem Frontend überlassen.
- Schreiboperationen führen Revision, Audit und Outbox in einer Transaktion aus.
- API-Versionierung beginnt mit
/api/v1.
Solutionweite Einordnung#
Dieser REST-Slice ist ein Eingangsadapter der ArtifactMVP-001 – AnwendungsdienstgrenzeGrenzen zwischen UI, Application Services, Domain, Ports und Adaptern.Vollständig lesen. Weitere Transportformen dürfen dieselben Use Cases verwenden, ohne Domain- oder Autorisierungsregeln zu duplizieren.