找回密码
 立即注册
首页 业界区 业界 Alamofire - Swift 下的优雅 HTTP 网络库

Alamofire - Swift 下的优雅 HTTP 网络库

上官银柳 2025-6-22 06:20:02
Alamofire

Alamofire 是一个用 Swift 编写的 HTTP 网络库,基于 Foundation URL 加载系统,提供了优雅的 API 设计,让网络请求变得更加简单高效。
功能特性


  • 优雅的链式 API:简洁直观的请求构建方式
  • 全面的 HTTP 方法支持:GET、POST、PUT、DELETE 等
  • 参数编码:支持 URL 编码、JSON 编码等多种参数编码方式
  • 响应序列化:内置 JSON、字符串、数据等多种响应解析方式
  • 请求/响应拦截:支持请求适配器和重试机制
  • 身份验证:支持基本认证、OAuth 等
  • 文件上传/下载:支持进度跟踪和断点续传
  • SSL 证书验证:增强网络安全性
  • 全面的平台支持:iOS、macOS、watchOS 和 tvOS
安装指南

Swift Package Manager

在 Package.swift 中添加依赖:
  1. dependencies: [
  2.     .package(url: "https://github.com/Alamofire/Alamofire.git", from: "5.0.0")
  3. ]
复制代码
CocoaPods

在 Podfile 中添加:
  1. pod 'Alamofire', '~> 5.0'
复制代码
Carthage

在 Cartfile 中添加:
  1. github "Alamofire/Alamofire" ~> 5.0
复制代码
使用说明

基本请求
  1. import Alamofire
  2. AF.request("https://httpbin.org/get").response { response in
  3.     debugPrint(response)
  4. }
复制代码
POST 请求
  1. let parameters = ["username": "user", "password": "123456"]
  2. AF.request("https://httpbin.org/post",
  3.            method: .post,
  4.            parameters: parameters).responseJSON { response in
  5.     switch response.result {
  6.     case .success(let value):
  7.         print("Response: \(value)")
  8.     case .failure(let error):
  9.         print("Error: \(error)")
  10.     }
  11. }
复制代码
下载文件
  1. AF.download("https://httpbin.org/image/png").responseData { response in
  2.     if let data = response.value {
  3.         let image = UIImage(data: data)
  4.     }
  5. }
复制代码
上传文件
  1. let fileURL = Bundle.main.url(forResource: "video", withExtension: "mov")
  2. AF.upload(fileURL, to: "https://httpbin.org/post").uploadProgress { progress in
  3.     print("Upload Progress: \(progress.fractionCompleted)")
  4. }.responseJSON { response in
  5.     debugPrint(response)
  6. }
复制代码
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码
1.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册