2017-12-12 8 views
1

私は、SwiftのAlamofireを使用してヘッダで投稿リクエストを作成しようとしています。しかし、私はエラーのメソッド呼び出しで余分なパラメータを取得し続けます。私はAlamofireのバージョン4.5を使用しています。私はエラーを理解することができません。Alamofire POST with headers

コードが

let headers = ["Authorization": token, "Content-Type": "application/json"] 

Alamofire.request("http://localhost:8000/create", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { response in 
} 
+0

あなたのコードスニペットのコンパイル良い。近くに構文エラーがあるかどうかを確認して、プロジェクトをクリーンアップしてください。 – the4kman

+0

でした。だから基本的に私がヘッダーを削除する場合。それはうまく動作します。私が何かを見逃すかどうかわからない – user782400

答えて

1

は私が私のために、以下の、その作業のように使用している

let headers = ["Authorization" : "Bearer "+accessToken!+"", 
        "Content-Type": "application/json"] 



Alamofire.request(URL, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON 
     { (response:DataResponse) in 
      switch(response.result) 
      { 
      case .success(let value): 
       completionHandler(value as? NSDictionary, nil) 
      case .failure(let error): 
       completionHandler(nil, error as NSError?) 
       break 
      } 

    } 
0

このようにヘッダを追加添付ご覧ください: -

if let url = URL(string: "http://localhost:8000/create") { 
    var urlRequest = URLRequest(url: url) 
    urlRequest.httpMethod = HTTPMethod.post.rawValue 

    urlRequest.addValue(token, forHTTPHeaderField: "Authorization") 
    urlRequest.addValue("application/json", forHTTPHeaderField: "Content-Type") 

    Alamofire.request(urlRequest) 
     .responseJSON { response in 
      self.parseData(response.data!) 
    } 
} 

func parseData(_ data : Data){ 
     do{ 
      let readableJSON = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as! [String :AnyObject] 
      print("readableJSON : \(readableJSON)") 
     } 
     catch{ 
      print(error) 
     } 
    }