2017-03-03 17 views
0

私はAlamofire 4.0とSwift 3.0を使用してPOST APIリクエストを作成しようとしていますが、それに苦労しています。 カスタムメイドのクレジットカード有効期限日付フィールド

enter image description here

そして

が、私は今でも用にコンパイルするために私のコードを取得することはできません基本認証

enter image description here

を使用して、私はさっぱりだが:

私のポストマンは、このようになりますなぜ。これは私の機能です:

func testCall(token:String, completionHandler: @escaping ((AnyObject?, Error?) -> Void)) { 
    let urlString = Constant.apiUrlString + Constant.apiPostOrderCard 
    print(urlString) 

    let parameters = ["test" : "test"] 
    Alamofire.request(urlString, method: .post, parameters: parameters, encoding: .JSON, headers: self.header).validate().responseJSON { (request, response, result) -> Void in 
     switch result { 
     case .Success(let value): 
      print(value) 
      completionHandler(value, nil); 
      break 
     case .Failure(let data, let error): 
      self.handleFailure(data, error: error, response: response, completionHandler: completionHandler) 
      break 
     } 
    } 

私は間違っていますか?

enter image description here

答えて

0

あなただけAlamofire 4に移行しましたか?いくつかの構文の変更があります。バージョンの更新がある場合は、移行ガイドを読む必要があります。ここで

は、更新されたコード:)

func testCall(token:String, completionHandler: @escaping ((AnyObject?, Error?) -> Void)) { 
    let urlString = Constant.apiUrlString + Constant.apiPostOrderCard 

    let parameters : Parameters = ["test": "test"] 

    Alamofire.request(urlString, method: .post, parameters: parameters).validate().responseJSON { response in 

     if let status = response.response?.statusCode { 
      switch(status){ 
      case 200: 
       if let result = response.result.value { 
        let JSON = result as! NSDictionary 

        // implement your logic here  
        completionHandler(value, nil); 
       } 
       break 
      case 400: 
        // implement your logic here 
       self.handleFailure(data, error: error, response: response, completionHandler: completionHandler) 
       break 
      default: 
       break 
      } 
     } 
    } 
} 

Parametersはそのを使用すること自由に感じ、Alamofireのオブジェクトであり、コンストラクタも変わっていたです。

Alamofire.request(urlString, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: self.header).validate().responseJSON { response in 
     switch response.result { 
     case .success(let json): //do something 
     case .failure(let error): // do something 

     } 
    } 
Parameters型を持つ
0

はちょうどあなたの encoding: .JSON encoding: JSONEncoding.defaultに交換して parametersを確保
関連する問題