2016-10-27 9 views
0

私はPostmanで作成できるAlamofireを通じてAPIへの投稿リクエストを作成しようとしています。これは、成功応答が得られますAlamofireでのパラメータの転記

enter image description here

郵便配達で、私の要求は次のようになります。私は、次の関数を使用しても、このことをしよう私のアプリで

func postUserInterests(interests: [Interest], user: User, completionHandler: (([AnyObject]?, ErrorType?) -> Void)) { 
    let urlString = Constant.apiUrl().stringByAppendingFormat(Constant.apiPostUserInterests, String(user.userID!)) 

    var selectedInterests = [Int]() 

    for interest in interests { 
     if (interest.selected){ 
      selectedInterests.append(interest.id!) 
     } 
    } 

//  let parameters = ["interest_ids": selectedInterests] 
    let parameters = ["interest_ids": [1,2,3]] 

    Alamofire.request(.POST, urlString, parameters: parameters, headers: self.header).validate().responseJSON { request, response, result in 
     switch (result) { 
     case .Success(let value): 
      let json = JSON(value) 
      let jsonArray = json["data"].rawString() 
      print(jsonArray) 
      if let items:Array<Item> = Mapper<Item>().mapArray(jsonArray) { 
       completionHandler(items, nil) 
      } else { 
       completionHandler(nil, ApiError.ParseError); 
      } 
     case .Failure(let data, let error): 
      print(data) 
      print(error) 
      break 
     } 
    } 
} 

しかしこれは、次の印刷.Failure応答に撮影されます:

Optional(<7b226d65 73736167 65223a22 6d697373 696e6720 70617261 6d657465 72732122 7d>) 

Error Domain=com.alamofire.error Code=-6003 "Response status code was unacceptable: 422" UserInfo={NSLocalizedFailureReason=Response status code was unacceptable: 422} 

私は何をやっています違う?私は私のバックエンドに整数の単純な配列を投稿したい

+0

休暇検証()の部分を? –

答えて

0

「のエンコーディング:.JSON」行方不明になった:今のところ、あなたが応じて郵便配達中に正確にどのようなコードを見ています

Alamofire.request(.POST, urlString, parameters: parameters, headers: self.header, encoding: .JSON)