簡體   English   中英

如何將混合參數類型傳遞給 Alamofire 請求

[英]How to pass mixed argument type to Alamofire request

我正在嘗試在 Alamofire 中發送帶有混合類型參數的請求,如下所示:

let params = [
    "page": 1,
    "userdIds": [1,2,3],
    "domain": "github.com"
] as [String : Any]

// Error: Type 'Any' cannot conform to 'Encodable'
return try! try! AF.request(url, parameters: params, encoder: URLEncodedFormParameterEncoder.default)

我收到一條錯誤消息:

類型“Any”不能符合“Encodable”


解決方案:

實際上有一個解決方案可以通過使用encoding而不是encoder來實現,如下所示:

return try! AF.request(url, parameters: params, encoding: URLEncoding.default)

解決方案的問題:

來自文檔:“還有其他方法允許您使用參數字典和 ParameterEncoding 類型發出請求。不再推薦此 API,最終將棄用並從 Alamofire 中刪除。 ”正如文檔中提到的那樣,它將被刪除。

題:

有沒有什么方法可以在不使用我上面提到的即將被棄用的方法的情況下解決這個問題?

使用Encodable類型:

struct Parameters: Encodable {
  let page: Int
  let userIDs: [Int]
  let domain: String
}

暫無
暫無

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

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