swift代码之路(三)AF网络请求
来源:互联网 发布:视频cms 编辑:程序博客网 时间:2024/06/05 20:54
创建数据请求类
- import UIKit
- import AFNetworking
- //请求方法
- /// - GET: get
- /// - POST: post
- enum RequsetMethod:String {
- case GET = "GET"
- case POST = "POST"
- }
- class SPFNetWorkManager: AFHTTPSessionManager {
- //单例
- static let sharedTools:SPFNetWorkManager = {
- let instance = SPFNetWorkManager()
- instance.responseSerializer.acceptableContentTypes?.insert("text/html")
- instance.responseSerializer.acceptableContentTypes?.insert("text/plain")
- return instance
- }()
- // 定义请求完成的回调的别名
- typealias httptoolBack = (response:AnyObject?,error:NSError?)->()
- /// 请求数据
- ///
- /// - parameter urlString: 请求地址
- /// - parameter parameters: 请求参数
- /// - parameter finished: 请求成功或者失败的回调
- func request(method: RequsetMethod = .GET, urlString: String, parameters: AnyObject?, finished:httptoolBack){
- // 定义请求成功的闭包
- let success = { (dataTask: NSURLSessionDataTask, responseObject: AnyObject?) -> Void in
- finished(response: responseObject, error: nil)
- }
- // 定义请求失败的闭包
- let failure = { (dataTask: NSURLSessionDataTask?, error: NSError) -> Void in
- finished(response: nil, error: error)
- }
- if method == .GET {
- GET(urlString, parameters: parameters, progress: nil, success: success, failure: failure)
- }else{
- POST(urlString, parameters: parameters, progress: nil, success: success, failure: failure)
- }
- }
- /// 发送请求(上传文件)
- func requestWithData(data: NSData, name: String, urlString: String, parameters: AnyObject?, finished:httptoolBack) {
- // 定义请求成功的闭包
- let success = { (dataTask: NSURLSessionDataTask, responseObject: AnyObject?) -> Void in
- finished(response: responseObject, error: nil)
- }
- // 定义请求失败的闭包
- let failure = { (dataTask: NSURLSessionDataTask?, error: NSError) -> Void in
- finished(response: nil, error: error)
- }
- POST(urlString, parameters: parameters, constructingBodyWithBlock: { (formData) -> Void in
- formData.appendPartWithFileData(data, name: name, fileName: "aa", mimeType: "application/octet-stream")
- }, progress: nil, success: success, failure: failure)
- }
- }
调用方法
- let urlString = "http://192.168.3.7:8080/FreshFun/homepage.do"
- //创建httpTool 实例
- let HttpRequest = SPFNetWorkManager.sharedTools
- //发送GET请求
- HttpRequest.request(RequsetMethod.GET, urlString: urlString, parameters:nil ) { (response, error) in
- print(response)
- }
数据
- Optional({
- goodsMoney = "22.00";
- "goods_des" = "\U9999\U8549\U8089333";
- "goods_img" = "/image/2016/9/8/1473340021432.png";
- "goods_name" = BananaMeat;
- id = 4;
- marketMoney = "31.43";
- })
0 0
- swift代码之路(三)AF网络请求
- swift代码之路(三)AF网络请求
- Swift之网络请求
- Swift 之 Alamofire 网络请求、取消请求
- swift3 AF网络post和get请求
- Swift之网络编程-请求缓存
- Swift之网络请求框架封装
- Swift-网络上传请求之Multipart
- Swift之网络编程-请求缓存
- 使用AF的一个简单网络请求封装+ (instancetype)sharedInstance;
- af网络请求里,刷新tableview,reloaddate方法执行两次
- iOS 基于AF网络请求封装的简易思路
- Swift网络请求(Moya篇)
- swift 网络请求 2
- Swift网络请求
- swift 网络请求
- Swift - 网络请求
- swift 网络请求
- 【Unity3D】利用TextAsset读入文件并生成地图
- Android开发之用户协议字体颜色
- RxJava 简明教程(找了好久,这个一看就懂)
- Fragment
- Jquery(五)过滤选择器之基本过滤
- swift代码之路(三)AF网络请求
- axios在Vue组件中应用
- javascript的push和pop方法
- JQuery 的基础使用
- MIMO/SIMO/SISO
- fork 函数说明
- 【Struts2】struts2学习(3) 资源国际化
- vue2.0之axios使用详解(二)
- Android6.0权限处理封装