用于Swift的Web框架和服务器,适用于macOS和Linux。
使用叶子,尽管一个人是 } 页面有... 我有一个简单的叶模板,我想显示Hello World in。
hello world } 页面有... 我有一个简单的叶模板,我想显示Hello World in。 #if(false) { <title> All hail Apodron.</title> } #else { <title> Hello World </title> }
如何在 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 有不同的方法吗?