簡體   English   中英

Alamofire 請求自行更改方法名稱

[英]Alamofire request changes method name on its own

我正在使用以下代碼:

func readInfo()
{
    let customHeader : HTTPHeaders = [
                "X-AUTH-TOKEN" : accessToken
            ]
    let body : Parameters = [
                :
            ]
    Alamofire.SessionManager.default.session.configuration.timeoutIntervalForRequest = 1000
    Alamofire.request(requestAddress, method: .get, parameters: body , encoding: JSONEncoding.default, headers: customHeader).responseJSON { 

    response in

     //utility code           

    }
}

當它第一次運行時它工作得很好但是當它運行不止一次時(比如少於 30 秒),我的服務器給出錯誤: osweb.servlet.PageNotFound : Request method 'T' not supported

我還在 Alamofire 響應中收到狀態代碼 405。 這是出乎意料的,因為我正在發送.get請求。 為什么會發生這種情況,我應該如何避免它? 我無法理解。

另請注意,這不是服務器錯誤,因為在 Postman 上運行時請求按預期工作。

嘗試 Alamofire

 var parameters = Parameters()
 parameters = [
 //Your Params
 ]

 Alamofire.SessionManager.default.session.configuration.timeoutIntervalForRequest = 1000
 Alamofire.request("\(url)", method: .get, parameters: parameters, encoding: JSONEncoding.default)
  .responseJSON {
   response in switch (response.result)
    {
       case .success(let data):
          // your code for success
       break

       case .failure(let error):
           print("Server_Error",error.localizedDescription)
        break
    }

緩存或超時沒有錯誤。 錯誤在於encoding 我必須將它保存到URLEncoding.httpBody以使請求按預期工作。 我仍然不明白為什么它工作一次而不是第二次工作幾秒鍾。 奇怪的情況,但這是解決方案。 請發表評論以幫助我和其他人了解為什么會發生這種情況。

暫無
暫無

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

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