5

を使用してマルチプラットフォーム プロジェクト用のネットワーク モジュールを構築しようとしていますktorGETリクエスト用の私のコードは次のようなものです:

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)}ランタイム パスの値を置き換えます。

4

0 に答える 0