Ktor中URL生成器的示例

  • 本文关键字:URL Ktor kotlin ktor
  • 更新时间 :
  • 英文 :


我正在使用Ktor客户端对API进行调用,但我没有找到任何关于如何使用查询参数构造URL的示例。

我想要这样的东西:

protocol = HTTPS,
host = api.server.com,
path = get/items,
queryParams = List(
Pair("since", "2020-07-17"),

)

我找不到任何关于如何使用URL生成器的例子。

如果要分别指定每个元素(协议、主机、路径和参数(,可以使用HttpClient.request方法来构造url。在该方法中,您可以访问HttpRequestBuilder,然后可以使用UrlBuilder配置url

client.request<Response> {
url {
protocol = URLProtocol.HTTPS
host = "api.server.com"
path("get", "items")
parameters.append("since", "2020-07-17")
}
}

Response类型是您的响应,您可以在那里指定您需要的任何

如果有人想在所有请求中添加一个基本URL,这也会很有帮助:

HttpClient(Android) {
expectSuccess = false
//config Client Serialization
install(JsonFeature) {
serializer = KotlinxSerializer(json)
}
//config client logging
install(Logging) {
level = LogLevel.BODY
}
//Config timeout
install(HttpTimeout) {
requestTimeoutMillis = 30 * 1000L
connectTimeoutMillis = 10 * 1000L
}
//Config Base Url
defaultRequest {
url {
protocol =URLProtocol.HTTPS
host = baseUrl
}
}
}
val json = kotlinx.serialization.json.Json {
ignoreUnknownKeys = true
isLenient = true
encodeDefaults = false
}

最新更新