2016-07-09 21 views
5

我目前在swift的項目中工作。我用AlamofireREST API 但使它工作,我需要在requestSerializer如何在Alamofire中設置requestSerializer

傳遞參數在AFNETWORKING

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 

但我找不到任何Alamofire。 我是新來的swift請幫助我。

回答

4

你可以通過通JSON數據作爲編碼參數,EncodingAlamofire如果你要處理的響應JSON數據相當於AFJSONRequestSerializer

request = Alamofire.request(.POST, webServicesURL, parameters: parameters, encoding: .JSON, headers: self.headers) 

,只是要求

//This will give you response in JSON 
request?.responseJSON { response in 
     switch response.result 
     { 
     case .Success: 
      success(response: response.result.value) 
     case .Failure(let error): 
      failure(error: error) 
     } 
    } 

requestJSON相當於到Alamofire的AFJSONResponseSerializer

或者如果你想通過自定義頁眉,傳遞一個字典作爲

let headers = [ 
    "Content-Type": "application/json" 
] 
//Here we are passing the header in header parameter. 
request = Alamofire.request(.POST, webServicesURL, parameters: parameters, encoding: .JSON, headers: self.headers) 
+0

好吧,我會試試看。 –

+1

另一個Question'success(response:response.result.value)'是alamofire的默認塊,或者它是由您創建的自定義塊。 –

+1

實際上,它的一切都取決於你,我如何編寫成功塊並相應地處理開關塊 –

0

您可以在您的要求爲這個使用encoding標籤。使用像,

Alamofire.request("<url>", method: .post, parameters: parameters, encoding: JSONEncoding.default){(response:DataResponse<Any>) in }