2017-09-27 60 views
-1

从api响应获取响应代码406。在Postman API上运行成功,但在代码中给出的结果如下:不接受用户验证令牌,但在邮递员工作

success : "{\"message\": \"User authentication token not accepted\"}" 

并获得错误消息nil。

我没有得到,其他GET API正在工作,但不是这一个,这一个是在邮递员也工作,但不是在代码。

同样的道理,其他API正在工作,那么为什么这个API得到这个错误信息。和一个常用的方法用于api命中。

下面是代码:

var strToken : String = "" 
     if let access_token = UserDefaults.standard.string(forKey: "auth_token"){ 
      let tokenValue = String(format: "Token %@", access_token); 
      strToken = tokenValue 
     } 

     let headers: HTTPHeaders = [ 
      "Authorization": strToken, 
      "Accept": "application/json" 
     ] 

     Alamofire.request(strCompleteURL, headers : headers).responseString { response in 
      print("Got Alamofire Response: ", response.result) 
      if response.result.isSuccess { 
       if let data = response.data{ 
        self.responseJR.responseCode = response.response?.statusCode 
        self.processResult(data); 
       } 
      } 
      else if response.result.isFailure { 
       if let error : Error = response.result.error{ 
        self.responseJR.errorMessage = error.localizedDescription; 
       } 
       if let res = String(data: data!, encoding: String.Encoding.utf8) 
       { 
        self.responseJR.infoResponse = res as AnyObject?; 
       } 

       DispatchQueue.main.async { 
        self.delegate?.didFinishServerCommunicationWithSuccess(self.responseJR) 
       } 
      } 

请指导。

回答

0

雨燕3.1 试试这个Almofire请求格式

发送参数为零,如果GET请求 发送参数如果POST请求

Alamofire.request(endPoint, method: .get, parameters: nil, encoding:JSONEncoding.default, headers:setHeader()) 
      .responseJSON { response in 
} 

请检查您是否提供您的身份验证令牌是正确的

+0

同样的回应,没有变化 –

+0

请求没有问题,因为它是从服务获得响应....您所调用的get api是您的吗? .....如果是,那么在服务端进行调试。正如你可以看到错误是指定该令牌不正确,所以有功能,这是抛出这个错误,因为一些问题..... –

+0

你有任何解决方案@ iPhone7。我面临同样的问题 –