Рассмотрим этот простой ktor Настройка сервера
@Location("/user") data class User(val id: Long)
fun Application.module(testing: Boolean = false) {
install(Locations)
routing {
get<User> {
call.respondText("User[id: ${id}]")
}
}
}
Получение /user?id=123
работает нормально, что приводит к User [id 123]
.
Однако получение /user
приводит к HTTP 404
но HTTP 400
здесь имеет гораздо больше смысла.
Как я могу
- Служить
400
вместо 404
в таком случае? - Присоединить пользовательский обработчик ошибок для отсутствующих параметров запроса, чтобы я мог предоставить клиентам информацию о том, что они ошиблись?
sidenote: я также заполнил проблему в репозитории ktor github для этого .
Заранее спасибо!