SwiftRequest

SwiftRequest 是一个轻量级、类型安全的 Swift HTTP 客户端,简化了 HTTP 请求的构建和执行。

概述安装支持的 HTTP 方法参数许可证

概述

SwiftRequest 抽象出了通常与在 Swift 中设置 HTTP 请求相关的重复样板代码。它利用了 Swift 5.9 中引入的宏,这些宏可以与特定声明相关联,以增强和扩展其功能。

以下是定义一个获取报价服务的简单示例

@Service(resource: "quotes")
protocol QuoteService {
    @GET("random")
    func getRandomQuotes(@QueryParam limit: Int?) async throws -> [Quote]
    
    @GET("{id}")
    func getQuote(@Path by id: String) async throws -> Quote
}

要使用 SwiftRequest 发出请求,您只需要创建该服务的一个实例并调用您想要使用的方法

let service = QuoteServiceImpl(baseURL: "https://api.quotable.io")
let quotes = try await service.getRandomQuotes(limit: 5)
let quote = try await service.getQuote(by: "69Ldsxcdm-")

安装

Xcode

需要 Xcode 15 或更高版本。

在 Xcode 中,转到 File > Add Package Dependency 并粘贴仓库 URL

https://github.com/ailtonvivaz/swift-request.git

Swift Package Manager

Package.swift

dependencies: [
    .package(url: "https://github.com/ailtonvivaz/swift-request.git", from: "0.1.0")
]

然后将依赖项添加到您的 targets。

支持的 HTTP 方法

SwiftRequest 提供对以下 HTTP 方法的支持

这些方法中的每一个都接受一个字符串作为请求路径(可选)。 如果你想指定路径,你可以只使用 @GET@GET("path")

参数

SwiftRequest 提供了几个可以与 HTTP 方法结合使用的参数

许可证

SwiftRequest 在 MIT 许可证下可用。 有关详细信息,请参见 LICENSE