NetworkXI

精致的 iOS 网络库 (版本 >= 13.0)


功能列表


使用示例

创建 URL 列表

import NetworkXI

struct HttpbinOrgURL: RequestURLExtensible {

    let path: String
    var host: String { "httpbin.org" }
}

extension HttpbinOrgURL {

    static let uuid = Self("/uuid")
}

描述请求

import NetworkXI

class UUIDRequest: NetworkRequest {

    var url: RequestURL { HttpbinOrgURL.uuid }
    var method: RequestMethod { .GET }
    var encoding: RequestContentEncoding { .url }
}

发起请求

import NetworkXI

// Create session interface and use it across the app
let sessionAdapter = NetworkSessionAdapter()
sessionAdapter.defaultSSLChallengeEnabled = true

// Work with a new instance of network service
let worker = NetworkWorker(sessionInterface: sessionAdapter)

let request = UUIDRequest()
let response = await worker.make(request)

if response.success,
   let body = response.jsonBody,
   let uuidString = body["uuid"] as? String {
    print("UUID: " + uuidString)
}

许可证

NetworkXI 基于 MIT 许可证发布