Хабр Курсы для бэкендеров
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Может, лучше не выдумывать?
Axum
async fn create_employee(
State(handler): State<Arc<CreateEmployeeHandler>>, // DI
Json(cmd): Json<CreateEmployee>, // Десериализация
) {
handler.handle(cmd).await;
}
Router::new()
.route("/employees/.../create", post(create_employee))
.with_state(handler_arc);Я хотел, чтобы маршруты и методы не задавались вручную, а выводились из доменного слоя: описал команды и запросы в DDD-терминах — и конвенция сама даёт пути и HTTP-методы.
Возможно, в статье это не получилось донести — спасибо, что написали, буду иметь в виду.
Один endpoint — одна строка. Как мы до этого докатились на Rust