3
AFNetworking 2.0 (Swift에서 코딩)에 문제가 있습니다. 라이브러리의 GET 메소드는 저에게 완벽하게 작동하는 것 같습니다. 하지만 POST 메서드는 오류를 반환합니다. 오류 사용자 이름/암호가 잘못되었습니다. 처음에는 인증 문제로 보였지만, 실제로 POSTman (REST 클라이언트)에서 POST 요청을 시도했을 때 완벽하게 작동했습니다.AFNetworking 2.0 POST 요청이 신속하게 작동하지 않습니다.
그래서 내가 뭐하는 거지 :
구성 :
var policy : AFSecurityPolicy = AFSecurityPolicy();
policy.allowInvalidCertificates = true;
self.client = AFHTTPRequestOperationManager(baseURL: self.basicUrl)
self.client!.operationQueue = NSOperationQueue.mainQueue()
self.client!.securityPolicy = policy
var responseSerializer : AFJSONResponseSerializer = AFJSONResponseSerializer()
self.client!.responseSerializer = responseSerializer
var requestSerializer : AFJSONRequestSerializer = AFJSONRequestSerializer()
requestSerializer.setValue("application/json", forHTTPHeaderField: "Accept")
self.client!.requestSerializer = requestSerializer
내 요청 너희들은 어떻게 생각하십니까
internal func loginUser(email : String, password : String, onCompletion : WebClientLoginResponse) -> Void
{
var params : Dictionary = ["email":email, "pass":password]
self.client!.POST("login", parameters: params, success: { (operation : AFHTTPRequestOperation!, response : AnyObject!) -> Void in
var finalResponse : Dictionary = Dictionary<String, String>()
finalResponse = response as Dictionary
onCompletion(true, nil, nil, nil)
}) { (operation : AFHTTPRequestOperation!, error : NSError!) -> Void in
println("Error \(error.description) \(operation.responseObject) ")
onCompletion(false, nil, nil, nil)
}
}
? 내가 놓친 게 있니?
감사합니다.
안녕하세요 토드, 먼저 대답 해 주셔서 감사합니다. 문제는 내가 requestSerializer도 설정 한 것 같다. (responseSerializer뿐만 아니라). 두 가지를 모두 지정하면 POST가 작동하지 않는 것 같습니다 (이상한 이유로). 결과적으로 requestSerializer를 구성하는 곳의 선을 제거했을 때 POST가 올바르게 작동했습니다! 나는 이유를 모른다! – Tzegenos
오, 나는 그것을 알아 차리지 못했다! AFNetworking에 버그가있는 것 같습니다. 다행 했어. –
@ Tzegenos 감사합니다.이 줄을 제거하면 나를 위해 문제가 해결되었습니다! – NBoymanns