IS
val call = client.post<String> {
url.takeFrom(getRoute(apiMethod))
header(AUTHORIZATION_KEY, getAuthHeader(token))
val obj = JsonObject(mapOf(
NAME_KEY to JsonPrimitive(name),
PUBLIC_KEY to JsonPrimitive(publicKey)
))
body = json.stringify(obj)
}
Используя этот код, сервер говорит, что public key is blank. Но если я меняю на body = serializer.write(obj)
private val serializer = io.ktor.client.features.json.defaultSerializer()
То все чудесным образом взлетает. Смотрю логи http клиента, они индентичны в обоих случаях
D/OkHttp: --> POST https://api.digitalocean.com/v2/account/keys
D/OkHttp: Content-Length: 269
D/OkHttp: Authorization: Bearer b90bac62...
D/OkHttp: Accept: application/json
D/OkHttp: {"name":"My VPN ssh key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDcCAwtGkHM2Buf...