darkmoon_uk
06/06/2019, 10:04 PMHttpClient that should be Json Encoded? Using iOS, if that matters, and I have the JsonFeature installed... but I get kotlin.ClassCastException: example.model.Person cannot be cast to io.ktor.client.call.HttpClientCall. Here's my code:
runBlocking {
val client = HttpClient()
val message = <http://client.post|client.post><Person> { //(path = "/path") {
url("<http://localhost:8080/path>")
contentType(ContentType.Application.Json)
body = Person("James", "Smith")
}
}
...Person is @Serializable, should I not be setting it to the body of the post request like this? I assumed that, being Any, JsonFeature would know how to handle this? Can't find an example or details in ktor documentation.Mike Dawson
06/07/2019, 6:29 AMval client = HttpClient() {
install(JsonFeature)
}
Though there isn't a specific example for iOS, there is an example of setting a request body on a post request here:
https://ktor.io/clients/http-client/call/requests.html
Also, the code you shared seems to indicate you are expected a person as the response given by the server, so ktor would be trying to convert the response of the server to a Person. If the response of the server isn't a person, then that could cause a problem.