Alamofire.upload( .POST,"https://httpbin.org/post",multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(fileURL: unicornImageURL,name: "unicorn") multipartFormData.appendBodyPart(fileURL: rainbowImageURL,name: "rainbow") },enCodingCompletion: { enCodingResult in switch enCodingResult { case .Success(let upload,_,_): upload.responseJsON { response in deBUGPrint(response) } case .Failure(let enCodingError): print(enCodingError) } })
即使响应是404/500错误,也总是会出现.Success情况.
我的问题是,如何验证此请求的响应?
解决方法 验证默认情况下,无论响应的内容如何,Alamofire都会将任何已完成的请求视为成功.如果响应具有不可接受的状态代码或MIME类型,则在响应处理程序之前调用valIDate会导致生成错误.
手动验证
Alamofire.request(.GET,"https://httpbin.org/get",parameters: ["foo": "bar"]) .valIDate(statusCode: 200..<300) .valIDate(ContentType: ["application/Json"]) .response { response in print(response) }
自动验证
自动验证200 … 299范围内的状态代码,并且响应的Content-Type标头与请求的Accept标头匹配(如果提供了一个).
Alamofire.request(.GET,parameters: ["foo": "bar"]) .valIDate() .responseJsON { response in switch response.result { case .Success: print("ValIDation Successful") case .Failure(let error): print(error) } }
好吧,最后
case .Success(let upload,_): upload.valIDate(statusCode: 200..<300) .valIDate(ContentType: ["application/Json"]) .response { response in print(response) }总结
以上是内存溢出为你收集整理的swift – Alamofire 3.2:如何验证“上传”POST呼叫的响应?全部内容,希望文章能够帮你解决swift – Alamofire 3.2:如何验证“上传”POST呼叫的响应?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)