CLOVIS
01/30/2025, 8:00 AMobject Users : StaticResource("users", parent = Api) {
class ListParameters(data: ParameterStorage) : Parameters(data) {
var includeInactive by parameter(default = true)
}
val list by get()
.parameters(::ListParameters)
.response<User>()
val create by post()
.request<User>()
.response<User>()
}
We can then call the routes typesafely in client code,
val user = User("Test", active = true)
client.request(Users.create, user).isSuccessful() shouldBe true
and implement them typesafely on the server:
routing {
route(Users.list) {
HttpStatusCode.OK to userRepository.list(includeInactive = parameters.includeInactive)
}
route(Users.create) {
val result = userRepository.create(body)
HttpStatusCode.OK to result
}
}
In version 0.7.0, we improve the documentation.Fernando
02/06/2025, 12:35 PMCLOVIS
02/06/2025, 1:36 PM