2016-12-21 2 views

ответ

1

вы должны использовать .custom для кодирования параметров и создать свою собственную кодировку и добавить его в HTTP тело в ранее alamofire, но в Alamafire 4.0 вы должны продлить ParameterEncoding

extension String: ParameterEncoding { 

public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { 
    var request = try urlRequest.asURLRequest() 
    request.httpBody = data(using: .utf8, allowLossyConversion: false) 
     return request 
    } 
} 

вы можете найти пример кода здесь ->stack overflow thread

+0

Я сказал параметр HTTPBody не ответ – Gigi

0

Try Как это

func API_getSubject(id:String) { 


    MBProgressHUD.showAdded(to: self.view, animated: true) 
    let param = ["idnumber" : id]; 

    print("param == \(param)") 

    Alamofire.request(Config.BASE_URL + "subject_list", method: .post, parameters: param, encoding: JSONEncoding.default, headers: nil) 
     .responseJSON { 
      response in debugPrint(response)  // prints detailed description of all response properties 

      //to get JSON return value 
      if let result = response.result.value { 
       let JSON = result as! NSDictionary 

       if JSON.value(forKey: "status") as! NSNumber == 1 { 
        self.ary_responce = (JSON["subjects"]! as! NSArray).mutableCopy() as! NSMutableArray 
        self.aTable.reloadData() 
       } 
       else{ 
        self.Alert(msg: "\(JSON["message"]!)") 
       } 
      } 
      else{ 
       if let error = response.result.error { 
        self.Alert(msg: error.localizedDescription) 
       } 
      } 
      DispatchQueue.main.async { 
       MBProgressHUD.hideAllHUDs(for: self.view, animated: true) 
       MBProgressHUD.hide(for: self.view, animated: true) 
      } 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^