构建于 URLSession 之上的简单 HTTPClient。
有很多很棒的开源和社区驱动的第三方网络库,例如 Moya 和 Alamofire。它们非常强大,可以加速开发,并在各种更复杂的网络方面为您提供帮助。
对于某些用例
,我更喜欢更简单的东西,而不需要依赖另一个第三方依赖项。 并且更多地了解网络也很有趣 😝。
这个项目是一个关于如何封装 URLSession 并提供易于使用但仍然健壮且经过良好测试的 API 的示例
。相同的概念可以应用于任何其他 SDK,即使在使用第三方库时也是如此,因为不要将此类逻辑暴露给外部世界始终是一个好习惯,这使得将来维护和更换实现变得更加容易。
它带有以下一系列库:[HTTPClient, CombineHTTPClient, CombineHTTPClientTestSupport]
如何使用它们的示例可以在单元测试中找到 😉。 两个客户端都依赖于 HTTPClientCore,其中包含共享的助手和通用类型。
如果您想在使用了 SPM 的项目中试用它,只需将其作为 dependency
添加到您的 Package.swift
中
dependencies: [
.package(url: "https://github.com/marinofelipe/http_client.git", from: "0.0.1")
]
所有模块均在 MIT 许可证下发布。 有关详细信息,请参见 LICENSE。