我正在使用以下代码:
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秒)时,我的服务器给出错误:o.s.web.servlet.PageNotFound : Request method 'T' not supported
我在Alamofire响应中也得到状态代码405。这是意外的,因为我正在发送.get
请求。为什么会发生这种情况,我应该如何避免呢?我无法理解。
另外,请注意,这不是服务器错误,因为在Postman上运行时,请求可以按预期工作。
答案 0 :(得分:1)
尝试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
}
答案 1 :(得分:0)
缓存或超时没有错误。错误是encoding
。我必须将其保存到URLEncoding.httpBody
才能使请求按预期工作。我仍然不明白为什么它一次只能工作一次,而第二秒钟却不能工作。奇怪的情况,但这是解决方案。请发表评论以帮助我和其他人理解为什么会发生这种情况。