39 lines
819 B
Markdown
39 lines
819 B
Markdown
# Use Case Wiring (API) (Strict)
|
|
|
|
This document defines how the API wires HTTP requests to Core Use Cases.
|
|
|
|
Core contract:
|
|
|
|
- [`docs/architecture/core/USECASES.md`](docs/architecture/core/USECASES.md:1)
|
|
|
|
## 1) Non-negotiable rules
|
|
|
|
1. Controllers are transport boundaries.
|
|
2. Controllers validate request DTOs.
|
|
3. Controllers map request DTOs to Core inputs.
|
|
4. Controllers execute Core Use Cases.
|
|
5. Controllers map Core results to response DTOs.
|
|
|
|
## 2) Presenter meaning in the API
|
|
|
|
In the API, a Presenter is an output adapter that maps Core results to HTTP response DTOs.
|
|
|
|
Rule:
|
|
|
|
- API presenters are request-scoped. They must not be shared across concurrent requests.
|
|
|
|
## 3) Canonical flow
|
|
|
|
```text
|
|
HTTP Request DTO
|
|
↓
|
|
Controller mapping
|
|
↓
|
|
Core Use Case
|
|
↓
|
|
Presenter mapping
|
|
↓
|
|
HTTP Response DTO
|
|
```
|
|
|