美文网首页
Alamofire5.2.1网络请求

Alamofire5.2.1网络请求

作者: 贼海鸥 | 来源:发表于2020-07-14 10:34 被阅读0次

Alamofire5.x的网络请求和4.x有些区别,做一下笔记记录一下

pod 'Alamofire'
pod 'SwiftyJSON'
pod 'KakaJSON'

在项目中建一个文件,专门用来引用第三方文件

@_exported import Alamofire
@_exported import SwiftyJSON
@_exported import KakaJSON

具体的网络请求

func getBrandInfo() {
        let params = ["brand_id": brandID]
        Request(API.brandInfo, method:.get, params: params) { (json) -> (Void) in
            guard let result = json["result"].dictionaryObject else {
                return
            }
            let model = result.kj.model(type: BrandInfoModel.self) as! BrandInfoModel
            let brand = SingleBrandInfoClas.shareInstance
            brand.brandInfo = model
        }
    }

做了一下简单的封装

func Request(_ shortURL: String, method: HTTPMethod, params: [String: Any]?, jsonResponse: @escaping (_ json: JSON) -> (Void)){
    guard let user = SingleUserClas.shareInstance.userModel else {
        AF.request(baseURL + shortURL, method: method , parameters: params).responseJSON { response in
            // 判断数据是否存在
            guard let dict = response.value else { return }
            // 将数据转为字典
            let json = JSON(dict)
            guard json["resp_code"].stringValue == "000000" else {
                ShowView(json["resp_message"].stringValue)
                return
            }
            jsonResponse(json)
        }
        return
    }
    let headers = HTTPHeaders(["authToken": user.userToken])
    AF.request(baseURL + shortURL, method: method, parameters: params, headers: headers).responseJSON { response in
        // 判断数据是否存在
        guard let dict = response.value else { return }
        // 将数据转为字典
        let json = JSON(dict)
        guard json["resp_code"].stringValue == "000000" else {
            ShowView(json["resp_message"].stringValue)
            return
        }
        
        jsonResponse(json)
    }
}

里面的单例

class SingleBrandInfoClas: NSObject {
    
    var brandInfo: BrandInfoModel? = nil
    
    private override init() {
        super.init()
    }
    
    static var shareInstance = SingleBrandInfoClas()
}

相关文章

  • Alamofire5.2.1网络请求

    Alamofire5.x的网络请求和4.x有些区别,做一下笔记记录一下 在项目中建一个文件,专门用来引用第三方文件...

  • 网络请求优化之取消请求

    网络请求优化之取消请求 网络请求优化之取消请求

  • Retrofit 基础篇

    一、Retrofit 网络请求接口的注解类型:网络请求方法、标记类、网络请求参数 (1)网络请求方法 (2)标记类...

  • unity 网络请求(异步和同步)

    1.网络请求(同步请求) 2.网络请求(异步请求) 3——256加密

  • 今日所学20160114

    这几天用Keynote总结了网络请求逻辑,主要包括一般网络请求+瀚银网络请求+猿题库网络请求+AFNetworki...

  • 基础模块封装 -- 网络请求

    一、网络请求抽象类 二、网络请求实现类 三、网络请求实体类 四、网络请求实体工具类 五、网络响应头信息类 六、网络...

  • 关于AFNetworking多次网络请求后进行的操作

    需求:同时进行两次网络请求,网络请求是异步的,在网络请求成功后进行其它的操作。两个网络请求是这样,一个网络请求中b...

  • Alamofire 网络请求

    网络监控、、、 、、、post 网络请求、、、 、、、 带参数 图片、视频网络请求、、、 、、、

  • 网络请求提交参数,首字母自动变为小写的问题

    在网络请求中,通常定义请求Bean,封装请求参数,最后通过网络请求框架提交参数,当使用fasejson,或者网络框...

  • RxSwift(IV)

    网络请求合并 RxSwift 网络请求封装网络安全请求合并: 打印: 参考资料: 观察序列创建

网友评论

      本文标题:Alamofire5.2.1网络请求

      本文链接:https://www.haomeiwen.com/subject/jxdxhktx.html