EZANetwork

Version License

要求

使用示例

导入依赖

import Combine
import EZANetwork
enum NetworkApi {
    case login(requestObject: Encodable)
}

extension NetworkApi: EZARequest {
    var url: URL {
        switch self {
            case .login: return "some url"
        }
    }

    var path: String? {
        switch self {
            case .login: return "api/login"
        }
    }

    var method: HTTPMethod {
        switch self {
            case .login: return .get
        }
    }
    
    var task: EZATask {
        
        switch self {
            
        case .login(let requestObject):
            
            let params = try? requestObject.asDictionary()
            return .query(parameters: params ?? [:])
        }
    }
}
var cancellables: Set<AnyCancellable> = .init()

NetworkApi
    .login(requestObject: ["username": "user", "password": "pass"])
    .request()
    .sink { completion in
        <#code#>
    } receiveValue: { value in
        <#code#>
    }
    .store(in: &cancellables)
EZALogger.set(logLevel: .error) // .debug by default. Set ".disabled" to disable all logs

安装

Cocoapods

EZANetwork 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中

pod 'EZANetwork'

Swift Package Manager

  1. 在项目导航器中右键单击
  2. 选择“Add Packages...”(添加包...)
  3. 搜索 https://github.com/eugene-software/EZANetwork.git

作者

Eugene Software

许可证

EZANetwork 在 MIT 许可证下可用。有关更多信息,请参见 LICENSE 文件。