를 JSON = JSON 해주면 (NSUTF8StringEncoding : 데이터 인코딩 데이터)
JSON =있는 NSString하자
.. 스피 swift2.3 작업을하고 난 Alamofire를 사용 그것은 나를 위해 일하고 :
class APIUtils: NSObject{static func fetchData(requestModel:RequestModel,completionBlock:(response:ResponseModel)->Void){
let url = "\(requestModel.baseUrl)\(requestModel.apiUrl)"
Alamofire.request(APIUtils().getHTTPMethod(requestModel.httpMethodType), url, parameters: requestModel.parametersDict,headers:requestModel.headersDict,encoding:(APIUtils().getEncodingFormat(requestModel.encodeType))).responseJSON { (responseObj) -> Void in
let responseModel = ResponseModel()
responseModel.responseCode = responseObj.response?.statusCode
switch responseObj.result {
case .Success(let data):
if (data .isKindOfClass(NSDictionary)){
responseModel.responseDictionary = data as! NSDictionary
}else if (data .isKindOfClass(NSArray)){
responseModel.customModel = data as! NSArray
}
responseModel.isSuccess = true
break
case .Failure(let error):
responseModel.isSuccess = false
print("Request failed with error: \(error)")
break
}
completionBlock(response: responseModel)
}
}
func getHTTPMethod(methodType:HTTPMethodType)->Alamofire.Method{
switch(methodType){
case .GET: return Alamofire.Method.GET
case .POST: return Alamofire.Method.POST
case .PUT: return Alamofire.Method.PUT
case .PATCH: return Alamofire.Method.PATCH
case .DELETE: return Alamofire.Method.DELETE
}
}
func getEncodingFormat(methodType:encodingType)->Alamofire.ParameterEncoding{
switch(methodType){
case .URL: return Alamofire.ParameterEncoding.URL
case .JSON: return Alamofire.ParameterEncoding.JSON
case .URLEncodedInURL: return Alamofire.ParameterEncoding.URLEncodedInURL
}
}
}
// 시도해보십시오.
let urlencode = Alamofire.ParameterEncoding
print(MyStrings.BaseURl+urlString)
Alamofire.request(action, MyStrings.BaseURl+urlString, headers: headers, parameters:urlParams, encoding: isBody == true ? urlencode.JSON : urlencode.URLEncodedInURL)
.validate(statusCode: 200..<300)
.responseJSON { responseO in
if (responseO.result.error == nil) {
let responseModel = ResponseModel()
responseModel.responseCode = responseO.response?.statusCode
switch responseO.result {
case .Success(let data):
if (data .isKindOfClass(NSDictionary)){
responseModel.responseDictionary = data as! NSDictionary
}else if (data .isKindOfClass(NSArray)){
responseModel.customModel = data as! NSArray
}
responseModel.isSuccess = true
break
case .Failure(let error):
responseModel.isSuccess = false
print("Request failed with error: \(error)")
break
}
completionBlock(response: responseModel)
}
else {
debugPrint("HTTP Request failed: \(responseO.result.error?.userInfo)")
let responseModel = ResponseModel()
responseModel.responseCode = responseO.response?.statusCode
responseModel.isSuccess = false
completionBlock(response: responseModel)
}
}
swift 2.x를 사용하고 계십니까? –
예! 나는 신속한 2.3을 사용하고있다. –
응답은 어떻게됩니까? 서버 또는 문자열에서 json 객체를 가져오고 있습니까? 검증! –