2016-12-21 12 views

答えて

1

あなたはパラメータを符号化するため.Customを使用し、独自のカスタムエンコーディングを作成し、それ以前のalamofireであなたのHTTPボディに追加しますが、Alamafire 4.0で、あなたがサンプルコードを見つけることができます

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 
    } 
} 

ParameterEncodingを拡張する必要があります必要がありますここで - >stack overflow thread

+0

のように試してみてください私は、パラメータは、応答HTTPBodyはないと述べました – Gigi

0

この

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) 
      } 
    } 
} 
関連する問題