2016-07-09 10 views
5

में requestSerializer को कैसे सेट करें मैं वर्तमान में swift में एक प्रोजेक्ट पर काम कर रहा हूं। मैं REST API के लिए Alamofire इस्तेमाल किया, लेकिन यह मैं requestSerializerअलामोफायर

में एक पैरामीटर पारित करने के लिए AFNETWORKING

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

में की जरूरत है काम करने के लिए लेकिन मैं Alamofire के लिए कुछ भी नहीं मिल सकता है। मैं तेजी से नया हूं कृपया मेरी मदद करें।

उत्तर

4

आप पास एन्कोडिंग मानकों के रूप JSON डेटा, पारित कर सकते हैं EncodingAlamofire में AFJSONRequestSerializer

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

के बराबर आप प्रतिक्रिया पर JSON डेटा को संभालने के लिए चाहते हैं, बस का अनुरोध

//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 बराबर है अलामोफायर में 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

एक और प्रश्न की पुष्टि (प्रतिक्रिया: respond.result.value) 'अलमोफायर का डिफ़ॉल्ट ब्लॉक है या यह आपके द्वारा बनाया गया कस्टम है। –

+1

असल में, यह सब आपके ऊपर निर्भर करता है, मैंने सफलता ब्लॉक को कैसे लिखा है और –

0

एक शब्दकोश पारित आप इस के लिए अपने अनुरोध में encoding टैग का उपयोग कर सकते हैं। जैसे,

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

संबंधित मुद्दे