作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我得到了这样的东西:
private val client = HttpClient {
install(JsonFeature) {
serializer = GsonSerializer()
}
install(ExpectSuccess)
}
并提出类似的要求
private fun HttpRequestBuilder.apiUrl(path: String, userId: String? = null) {
header(HttpHeaders.CacheControl, "no-cache")
url {
takeFrom(endPoint)
encodedPath = path
}
}
但我需要检查请求和响应正文,有什么办法吗?在控制台/文件中?
最佳答案
您可以使用 Logging
功能实现此目的。
首先添加依赖:
implementation "io.ktor:ktor-client-logging-native:$ktor_version"
然后安装功能:
private val client = HttpClient {
install(Logging) {
logger = Logger.DEFAULT
level = LogLevel.ALL
}
}
奖励:
如果您需要在整个应用程序中拥有多个 HttpClient
实例,并且您希望重用一些配置,那么您可以创建一个扩展函数并在其中添加通用逻辑。例如:
fun HttpClientConfig<*>.default() {
install(Logging) {
logger = Logger.DEFAULT
level = LogLevel.ALL
}
// Add all the common configuration here.
}
然后像这样初始化你的 HttpClient
:
private val client = HttpClient {
default()
}
关于kotlin - 如何在 ktor http 客户端记录请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53168116/
我是一名优秀的程序员,十分优秀!