簡體   English   中英

如何刪除 Ktor 客戶端 2.0.0 的默認標頭

[英]How to remove default header for Ktor client 2.0.0

適用於 Android 的 Ktor v2.0.0。

默認的 ktor 標頭“Accept”只是覆蓋了我的“Accept”標頭。

這是我初始化 HttpClient 的方式:

  HttpClient(Android) {
    defaultRequest {
        header("Key", BuildConfigCore.API_KEY)
        header("Accept", "application/vnd.***.mobile-v8+json")
      
        host = hostAddress
        url.protocol = URLProtocol.HTTPS
    }
    install(Logging) {
        if (BuildConfig.DEBUG) {
            logger = Logger.DEFAULT
            level = LogLevel.ALL
        }
    }
    install(ContentNegotiation) {
        gson()
    }
    expectSuccess = false
}

但是當我檢查查爾斯攔截器時,我的標題看起來像: 在此處輸入圖像描述

我有這個

應用程序/json

這會覆蓋我的application/vnd...值。

有沒有辦法替換默認的“接受”標題?

您可以從defaultRequest塊中刪除Accept標頭,並為GsonConverter注冊您的內容類型,而不是使用默認的application/json內容類型。

val client = HttpClient {
    install(ContentNegotiation) {
        gson(ContentType("application", "vnd.***.mobile-v8+json"))
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM