Comments 9
После машинного перевода текст должен редактировать специалист, разбирающийся в теме.
Пример маршрута выглядит следующим образом:
Это не маршрут, а обработчик.
Чтобы обработчик был действительным (валидным), он должен либо иметь тип
axum::response::Response
, либо реализовыватьaxum::response::IntoResponse
Обработчик - это Fn(). Fn() должен реализовывать IntoResponse ?
Затем можно реализовать перечисление в обработчике следующим образом:
async fn my_function() -> ApiResponse { // ...}
Эта функция - реализация перечисления?
"Переводы" такого качества не нужны! Делайте пересказ своими словами.
Вот вроде все хочется в Rust, но смотришь как на нем выглядит реальный код (вот эта смесь такого подхода к именованию и синтаксиса языка) и думаешь, ну нормально же все на typescript пишу. Непреходящее ощущение от Rust, что это как C++ std 2.0
вот эта смесь такого подхода к именованию
А что не так с именованием?
и думаешь, ну нормально же все на typescript пишу. Непреходящее ощущение от Rust, что это как C++ std 2.0
Раст всё-таки достаточно низкоуровневый, переходить на него с языков со сборкой мусора есть смысл только если есть понимание зачем.
ну нормально же все на typescript пишу
Тут вопрос в первую очередь, а насколько оно на TS быстродейственным получается? Что там со всякими валидациями-мидлварями, которые тоже своим миллисекунды от запроса отжирают. Сколько это всё жрёт памяти и времени как во время разработки так и в проде. Если у вас там простенькая SPAшка с небольшой посещаемостью, то вам, наверное, и не страдать. Разве что иногда гадать, где у вас там undefined
всплыл, который из типа протёк.
Жаль что нет механизма для слияния в единый инвариант типов ошибкок с мидлварей и роут хендлеров. Хотелось бы иметь автоматически паттерн матчинг по этому. А при прописывании вручную к сожалению можно допустить ошибки и не учесть очередной добавленный мидлварь
У рокета есть такое:
https://rocket.rs/guide/v0.5/requests/#default-catchers
Но это другой фреймворк.
Начало работы с Axum — самым популярным веб-фреймворком Rust