问题标签 [server-side-swift]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 从 Vapor 3 中的作业访问服务
我对 Vapor 和服务器端 swift 非常陌生,具有 iOS 开发背景(开发应用程序 6 年)。我正在尝试为设备管理构建一个简单的 API,其中包括一个“作业”(您想调用它的计时器),它每隔一小时左右检查一次设备最后一次“签入”。
为此,我设置了 Jobs 包,但是我正在努力弄清楚如何访问服务 ( Ferno ) 以访问我的 Firebase 实时数据库以获取有关设备上次登录时间的信息。似乎根据文档您需要一个实现者Container
来创建/访问 aService
但似乎没有任何类型的全局容器我可以使用。
我应该尝试创建自己的Request
只是为了访问Ferno
服务吗?或者有没有办法可以访问全局app
?
以下是我到目前为止所拥有的,但我所做的似乎非常错误!当然必须有一种方法来实现这一目标?
vapor - Vapor 应用程序在启动时崩溃。VaporS3Signer.Provider.S3ProviderError.config("没有 vapor-S3Signer.json 配置文件")
对于服务器端 swift,我使用的是蒸汽。
main.swift 上的错误: 线程 1:
致命错误:在顶层引发错误:VaporS3Signer.Provider.S3ProviderError.config("no vapor-S3Signer.json config file")
日志:
致命错误:在顶层引发错误:VaporS3Signer.Provider.S3ProviderError.config("no vapor-S3Signer.json config file"): file /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang_Fall2018/swiftlang_Fall2018-1000.11 .42/src/swift/stdlib/public/core/ErrorType.swift,第 191 行
我的代码(main.swift):
当我在 Xcode10.1 中运行应用程序时,应用程序启动时出现错误。
vapor - How to read a parameter in a Vapor middleware without consuming it
I am brand new to the Vapor framework, and am trying to protect multiple routes. Basically, I want to make sure that all routes under /campaigns/:id
can only be accessed if the user actually has access to that particular campaign with that ID. So that I can't just enter any ID into the url and access any campaign.
Now, instead of adding logic for this to every single route (already 6 so far), I figured I'd use a middleware for this. This is what I came up with so far, with the help of some friendly folk over at the Vapor Discord:
The problem here is that the middleware is "eating up" the campaign parameter by doing request.parameters.next(Campaign.self)
. So in getOneHandler
, where it also tries to access req.parameters.next(Campaign.self)
, it fails with error "Insufficient parameters". Which makes sense, since .next
actually removes that param from the internal array of parameters.
Now, how can I write a middleware, that uses the parameter, without eating it up? Do I need to use the raw values and query the Campaign model myself? Or can I somehow reset the parameters after using .next
? Or is there another better way to deal with model authorization in Vapor 3?
swift - 服务器端 Swift Vapor - 模型继承
是否可以对模型进行子类化并继承超类的属性,所以最后我有了模型:
类用户
类学生:用户
类教师:用户
为了创建这个:https ://ryanbigg.com/2008/09/multiple-user-access-levels
mysql - 如何在kitura应用程序中调用mysql存储过程
我需要在 kitura 应用程序中调用 MySQL 存储过程并将其用于查询结果。我怎样才能做到这一点
vapor - Vapor 3 - 发送一个 HTTPRequest
如何在 Vapor 3 中使用HTTPRequest
struct 发送 API 请求?
我尝试了以下代码的变体..
编译错误Cannot convert value of type '(HTTPClient) -> EventLoopFuture<HTTPResponse>' to expected argument type '(HTTPClient) -> _'
我已经尝试过其他有效的代码变体。
我读了又读:
perfect - PerfectSwift:快速包更新无休止地运行
我确实有一个较旧的 Perfect Swift 项目,其中我的 package.swift 看起来如下:
当我运行时,swift package build
我得到以下输出,然后机器挂了几个小时:
我该怎么做才能再次运行?swift --version
得到
swift - 为什么 Xcode 一直用 '_' 代替泛型
我正在使用 Swift 5 和 Vapor 3 制作服务器。设置路由时,我想从我的控制器调用一个函数,该函数返回一个像这样的可选:
但后来我得到这个错误
在使用 Vapor 时,我看到很多情况,其中 Xcode 只是放弃了自动完成功能,并且所有内容都只是输入为_
. 主要在用作回调的闭包内部。这很烦人,坦率地说,我不确定它是由 Vapor、Swift 还是 Xcode 引起的。这是一个巨大的 PITA,但一旦我编译,一切都会得到解决,类型会被整理出来。但是在这种情况下,它只是不起作用。
所以问题是:为什么 Xcode 会说预期的类型是(Request) throws -> _
当实际定义Request.put(_:use:)
需要 a时(Request) throws -> T
,这如何在T
beFuture<Person>
和之间产生差异Future<Person?>
?
swift - 路由时如何在请求中传递参数(使用 Vapor 的服务器端 Swift)
我正在使用 Swift 中的 Vapor 框架编写 Web 服务。
在我的应用程序中,我有用户模型。以下是我为所有用户路由获取请求的方式。
在本地运行服务器后,为了获取用户,我可以发出如下请求localhost:8080/users
现在,我想在请求中添加参数以获取超过给定年龄的用户。请求看起来像localhost:8080/users?above_age=25
如何使用 Vapor 框架在请求中添加参数?我尝试了可用的文档,但我想不通。
由于我现在开始使用 Vapor 的 Server Side Swift,因此任何对使用 Vapor 3 的资源的引用也将有助于解决我可能面临的其他问题。谢谢!