用于Swift的Web框架和服务器,适用于macOS和Linux。
如何在 swift iOS 应用程序中使用 Vapor API
我正在尝试弄清楚如何使用我的 Vapor API。我在网上和到处看到的大多是使用vapor创建一个网站,但我没能看到的是如何使用我构建的API......
我正在尝试在 Vapor 中使用 XML 正文解码请求。 请求内容为: 我正在尝试在 Vapor 中使用 XML 正文解码请求。 请求内容为: <?xml version='1.0' encoding='UTF-8'?> <feed xmlns:yt="http://www.youtube.com/xml/schemas/2015" xmlns="http://www.w3.org/2005/Atom"><link rel="hub" href="https://pubsubhubbub.appspot.com"/><link rel="self" href="https://www.youtube.com/xml/feeds/videos.xml?channel_id=REDACTED"/><title>YouTube video feed</title><updated>2024-11-27T15:08:44.561926689+00:00</updated><entry> <id>yt:video:REDACTED</id> <yt:videoId>REDACTED</yt:videoId> <yt:channelId>REDACTED</yt:channelId> <title>Test Video</title> <link rel="alternate" href="https://www.youtube.com/watch?v=REDACTED"/> <author> <name>Test User</name> <uri>https://www.youtube.com/channel/REDACTED</uri> </author> <published>2024-11-27T15:08:41+00:00</published> <updated>2024-11-27T15:08:44.561926689+00:00</updated> </entry></feed> 我正在尝试将其解码为以下模型: struct PubSub: Content { struct Feed: Codable { struct Entry: Codable { let id: String } let entry: Entry } let feed: Feed } 使用以下代码进行解码: guard let pubSub = try? req.content.decode(PubSub.self, as: .xml) else { throw Abort(.badGateway) } return pubSub 由于某种原因,它永远无法成功解码。有人可以分享 Vapor 解码 XML 的正确方法吗? Vapor 没有内置的 XML 解码器,因此您需要找到一个适合您的解码器。一旦您拥有了它,您就可以将其符合 ContentDecoder 并按照文档进行注册
我正在尝试在客户端上使用 .post() 请求向 Vapor 中的外部 API 发出请求。 让有效负载 = TwitchTokenPayload(client_id: client_id, 客户...
我正在使用 Vapor 4,并且具有以下 MySQL 数据库结构:城市引用了 POI,POI 引用了翻译。 我应该如何使用 join 语句。这样我就得到了
Swift - 错误:套接字 SO_ERROR [61:连接被拒绝]
我想用 swift 将 Web 服务器连接到我的 ios 应用程序。因此,我创建了一个函数来使用“POST”创建任务,但是当我调用它时,我收到一条错误消息: nw_socket_handle_socket...
在 Fly.io 上构建 Docker 时出现 Swift Vapor 服务器错误
我已经构建了一个vapor服务器,它在HostMyApple上的mac服务器上运行良好。我正在尝试迁移到 Fly.io。当我运行命令“fly launch”时,它开始构建,但随后给出这些
如何使用Fluent orm直接执行postgresql或sql
我正在编写一个vapor应用程序,我遇到了麻烦,因为我需要索引geohash,但它并不容易获得,现在我想直接使用SQL或postgres,但是我不知所措为了...
服务器端 Swift - 帮助连接到 CloudKit Web 服务
我正在尝试使用 Vapor 连接到 ck Web 服务。 我不断收到代码 401(身份验证失败)。我阅读并重读了文档(https://developer.apple.com/library/archive/documentation/DataManag...
Vapor 4 - 无法在全新安装上构建 hello world
我使用过 Vapor 3,但这是我第一次使用版本 4。我正在使用 Ubuntu 20.04 和 Swift 5.6.1 设置一个新的服务器环境。我可以创建一个新的 Swift 项目,构建并运行它,一切都很好
我正在尝试为 Vapor 中的 openAI 聊天 api 制作代理,以便我的 iOS 应用程序不需要知道 api 密钥。让这有点棘手的是我想使用流:stream=true。 ...
将 jpg、jpeg、png、heic 格式的图像上传到 Vapor 4。从用 SwiftUI 编写的 iOS 应用程序发送文件
我无法以任何方式编写上传图像的代码。 需要这样做:从iOS应用程序(SwiftUI)向后端发送请求,然后检查文件格式(jpg、jpeg、png、heic)...
Vapor 服务器:致命错误:在初始化或获取字段之前无法访问字段:地址
我有一个vapor(4)服务器,最近添加了一个使用电子邮件地址查询数据库中居民的功能: func getResidentByEmail(req: Request) 抛出 -> EventLoopFuture 我有一个 Vapor (4) 服务器,最近添加了一个使用电子邮件地址查询数据库的居民的功能: func getResidentByEmail(req: Request) throws -> EventLoopFuture<Resident> { let token = try req.auth.require(Token.self) let email = req.parameters.get("email") ?? "" return Resident.query(on: req.db) .filter(\.$email == email) .first() .map { resident in guard let resident else { return Resident() } return resident } } 最初此功能有效:我能够向居民返回电子邮件地址。现在我的服务器因以下错误而崩溃: FluentKit/Field.swift:23:致命错误:在初始化或获取字段之前无法访问字段:地址 我不明白在初始化之前我在哪里访问地址字段。如果我重新启动服务器,这可能会显示电话号码而不是地址或其他字段,但错误的其余部分保持不变。 这是我的驻地模型: final class Resident: Model, Content { init() { } static let schema: String = "residents" @ID(key: .id) var id: UUID? @Field(key: "firstName") var firstName: String @Field(key: "middleName") var middleName: String @Field(key: "lastName") var lastName: String @Field(key: "phoneNumber") var phoneNumber: String @Field(key: "email") var email: String @Field(key: "dob") var dob: String @Field(key: "address") var address: String @Field(key: "rentAmount") var rentAmount: Double @Field(key: "pastDueRentOwed") var pastDueRentOwed: Double @Field(key: "isPastDue") var isPastDue: Bool @Field(key: "isRetiredClient") var isRetiredClient: Bool @Field(key: "monthlyReminderScheduled") var monthlyReminderScheduled: Bool @Field(key: "house") var house: String @Field(key: "roomNumber") var roomNumber: Int @Field(key: "bedNumber") var bedNumber: Int @Field(key: "housePin") var housePin: Int @Field(key: "moveInDate") var moveInDate: String 当没有找到驻留者时,不要返回一个带有空初始值设定项的新驻留实例,而是更适当地处理驻留者的缺失。试试这个 func getResidentByEmail(req: Request) throws -> EventLoopFuture<Resident> { let token = try req.auth.require(Token.self) let email = req.parameters.get("email") ?? "" return Resident.query(on: req.db) .filter(\.$email == email) .first() .unwrap(or: Abort(.notFound, reason: "Resident with email \(email) not found")) }
Vapor 3 似乎无法读取 Config/server.json 文件,因此我无法配置 Vapor 3 应用程序绑定的主机名和端口。 Vapor 3 有不同的方法吗?
Docker 错误:加载 Docker.io/library/swift:5.9 的元数据
我正在尝试对 Vapor 服务器进行 docker 化。我使用的是 Mac M1,希望在 Ubuntu 22.04 服务器上使用 docker 镜像。尝试构建时出现错误(见下图)。关于为什么的任何想法......
Postman GET 返回成功,但 SwiftUI App GET 返回解码错误
我正在运行蒸汽服务器。除了 getOrders 之外,我的应用程序网络请求都运行良好。在 Postman 上运行请求时,它会成功返回。谁能看到邮递员做了什么...
HTTP 请求在 Postman 中工作,但在我的 Swift 应用程序中不起作用
我正在运行一个 Vapor 服务器,并且我正在尝试使用不记名令牌身份验证。我能够登录并获得令牌作为响应。在 Postman 中,我可以使用令牌值来验证我的 ro...
我在 Ubuntu 中使用 Swift 在服务器端后端使用 Vapor 框架。在完成 80% 的项目时,该框架不会自动重新连接数据库。我只需要重新连接数据的解决方案...
我正在使用 Vapor 的新功能,我们希望使用它作为在模拟服务器和真实服务器之间切换的方式。 在我的 Xcode 客户端应用程序中,我们可以调用真实服务器(例如 realbase.com/a...
如何将 Postgres NUMERIC 解码为 Vapor FluentOptional<Float>?
我创建了一个 Vapor Fluent 模型,它具有以下属性,其中几个属性是可选的: 期末课程技能:模型、内容{ 静态让模式=“技能” /// 告诉
设置 .unique(on:) 约束会影响 fluence/vapor 中 .id 的唯一性吗?
正如标题所说: 设置 .unique(on:) 会影响 fluence/vapor 中的 .id 吗? 我有一个“用户”架构,它有一个 .id 并且也是 .unique(on: email)。现在我注意到我已经进入了...