2017-12-12 2 views
1

Swift의 Alamofire를 사용하여 헤더가있는 게시물 요청을하려고합니다. 그러나 메서드 호출에서 추가 매개 변수 오류가 계속 발생합니다. 나는 Alamofire 버전 4.5를 사용하고 있습니다. 오류를 파악할 수 없습니다.Alamofire 헤더가있는 POST 요청

코드가

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