Estoy tratando de construir un módulo de red para un proyecto multiplataforma con ktor . Mi código para la solicitud GET es algo como esto:
val result = httpClient.get<HttpResponse> { url { protocol = baseProtocol host = baseUrl encodedPath = urlPath } } En algún punto, mi ruta contiene una identificación de usuario como esta /users/{user_id} . Puedo hacer una búsqueda y reemplazar en una cadena y reemplazar este user_id con el valor real, PERO, ¿hay alguna otra forma de hacerlo? cualquier forma específica ktor .
Por ejemplo con Retrofit tenemos esto:
@GET("users/{user_id}/") SomeData getUserData(@Path("user_id") String userId);EDITAR: agregar más código
val result = httpClient.get<HttpResponse> { url { protocol = baseProtocol host = baseUrl var requestPath = request.requestPath.value request.path?.forEach { requestPath = requestPath.replace(it.first, it.second) } encodedPath = requestPath if (request.parameters != null) { parameters.appendAll(getParametersFromList(request.parameters)) } } el request.path?.forEach { requestPath = requestPath.replace(it.first, it.second)} reemplazando cualquier valor de ruta de tiempo de ejecución.