2016-07-09 85 views
5

Attualmente sto lavorando su un progetto in swift. Ho usato per AlamofireREST API ma per farlo funzionare ho bisogno di passare un parametro in requestSerializerCome impostare requestSerializer in Alamofire

In AFNETWORKING

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

ma non riesco a trovare nulla per Alamofire. Sono nuovo di swift per favore aiutami.

risposta

4

È possibile passare passaggio JSON dati come parametri di codifica, Encoding in Alamofire è equivalente a AFJSONRequestSerializer

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

Se si desidera gestire i dati JSON sulla risposta, basta richiedere

//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 è equivalente a AFJSONResponseSerializer in Alamofire

OPPURE Se si desidera passare intestazioni personalizzate, passare un dizionario come

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

Ok ci proverò. –

+1

Un altro Question'success (risposta: response.result.value) 'è il blocco predefinito di alamofire o personalizzato creato dall'utente. –

+1

In realtà, dipende tutto da te, come mai ho scritto il blocco di successo e gestito di conseguenza il blocco switch –

0

È possibile utilizzare encoding tag nella richiesta per questo. Uso come,

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