を使用してマルチプラットフォーム プロジェクト用のネットワーク モジュールを構築しようとしていますktor
。GET
リクエスト用の私のコードは次のようなものです:
val result = httpClient.get<HttpResponse> {
url {
protocol = baseProtocol
host = baseUrl
encodedPath = urlPath
}
}
ある時点で、私のパスにはこのようなユーザーIDが含まれています/users/{user_id}
。文字列を検索して置換し、これuser_id
を実際の値に置き換えることができますが、これを行う他の方法はありますか? 任意のktor
特定の方法。
たとえば、次のRetrofit
ようになります。
@GET("users/{user_id}/")
SomeData getUserData(@Path("user_id") String userId);
編集:コードを追加する
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))
}
}
request.path?.forEach { requestPath = requestPath.replace(it.first, it.second)}
ランタイム パスの値を置き換えます。