Вот краткий пример того, как проверить и ответить 400 при необходимости.
fun main(args: Array<String>) {
embeddedServer(Netty, 5000) {
install(CallLogging)
install(ContentNegotiation) { gson { } }
install(Routing) {
post( "test") {
val sample = call.receive<Sample>()
if (!sample.validate()) {
call.respond(HttpStatusCode.BadRequest, "Sample did not pass validation")
}
call.respond("Ok")
}
}
}.start()
}
fun Sample.validate(): Boolean = id > 5
data class Sample(val id: Int)
Вы имели в виду что-то еще?
Нет встроенных аннотаций или тому подобного.