Estou escrevendo um backend Spring Boot para um cliente ktor multiplataforma Kotlin. Na maioria dos casos, isso funciona muito bem, mas tenho um problema com a serialização e desserialização de booleanos. Este é meu endpoint no lado do servidor:
@GetMapping("/api/v1/user/existsByUsername/{username}", produces = [MediaType.APPLICATION_JSON_VALUE])
@ResponseBody
fun userExistsByUsername(@PathVariable("username") username: String) : ResponseEntity<Boolean> {
val exists = userService.usernameExists(username)
return ResponseEntity.status(HttpStatus.OK).body(exists)
}
Estou esperando obter um resultado deste endpoint como {true}
mas o cliente recebe o corpo true
- e não pode desserializá-lo. Posso forçar o endpoint de uma forma simples a adicionar as chaves? Ou há uma maneira de dizer ao ktor para desserializar tipos básicos como não JSON?