草庐IT

vapor-cli

全部标签

swift - 使用不同的数据库提供商测试 Vapor 3

是否可以将内存中的FluentSQLite提供程序用于测试目的,将FluentPostgreSQL用于应用模型? 最佳答案 这取决于....简而言之,简单的应用程序是的,你可以。您基本上需要使您的模型通用,然后从您的配置一路向下设置通用模型。查看基准模型的设置方式here.实际上-不,你不能。一旦您想做任何非标准的事情(TEXT列类型)等,您需要使您的模型特定于数据库类型。实现它的方法是使用存储库模式并从应用程序逻辑中完全抽象出您的数据库。有关详细信息,请参阅Vapor风格指南。 关于s

swift - 从 Vapor 3 中的作业访问服务

我是Vapor和服务器端swift的新手,具有iOS开发背景(6年开发应用程序)。我正在尝试为设备管理构建一个简单的API,其中包括一个“作业”(定时器,无论你想怎么调用它),它每隔一小时左右检查一次设备最后一次“checkin”。为此,我设置了Jobs包,但我正在努力弄清楚如何访问服务(Ferno)以访问我的Firebase实时数据库以获取有关设备上次登录时间的信息。它似乎根据文档,您需要Container的实现者来创建/访问Service但似乎没有任何类型的全局容器我可以使用。我应该尝试创建自己的Request只是为了访问Ferno服务吗?或者有什么方法可以访问全局app?以下是我

swift - 使用 vapor 导入多个私有(private)存储库时出错

我在导入多个私有(private)存储库时遇到问题,我似乎可以使用1.所以我想知道是否有人可以告诉我我做错了什么。我的项目结构是这样的:在Package.swift所在的项目的根目录中:--.ssh--config--model--model.pub--service--service.keypackage.swift的内容:importPackageDescriptionletpackage=Package(name:"Server",products:[.library(name:"Seerver",targets:["App"]),],dependencies:[//?Aserv

swift - Vapor:使用参数在路由器 POST 调用中调用 REST API

所以我正在尝试在我的Vapor端点之一中调用第二个端点。我有一个端点,它只是一个get并且运行良好:router.get("status"){req->Futureinletclient=tryreq.make(Client.self)letresponse=client.get("https://url.com/endpoint/")returnresponse.flatMap(to:ConnectionResponse.self,{responseinreturntryresponse.content.decode(ConnectionResponse.self)})}这会正确返回

mysql - 将 FluentMySQL 与 vapor 3 结合使用

几天来,我一直在尝试将fluent-mysql依赖项添加到我的vapor项目中,以便从项目中查询我单独的mysql数据库。但是我似乎总是会遇到某种错误,例如当我尝试vaporupdate它永远不会完成。(过去我已经离开了几个小时),我也试过swiftpackageupdate但那有同样的错误。我现在处于vaporupdate的地步有效,但是我仍然遇到两个错误'mysql/udf_registration_types.h'filenotfoundwithinclude;use"quotes"instead和CouldnotbuildObjective-Cmodule'CMySQL'我从v

swift - 在 Vapor 中获取 URI 的片段

对于我的Vapor应用程序,我需要读取请求的URI片段。letdrop=Droplet()drop.get("fragment"){requestinprint("URI:\(request.uri)")print("Fragment:\(request.uri.fragment)")return""}问题是:当我请求http://myserver/fragment#hello时,request.uri.fragment为nil。这是在控制台中打印的:URI:http://localhost:8080/fragmentFragment:nil我错过了什么吗?Vapordocumenta

json - 解码 Vapor 中的对象数组

我如何解码以下json数组(它是http请求的一部分)[{"id":0,"name":"darthmaul"},{"id":1,"name":"darthsidious"}]在swiftvapor3中有解码功能?Vapor代码:structUser:Content{varid:Intvarname:String}router.put("user"){request->Futureinreturntryrequest.content.decode(User.self).map({(user)->(HTTPStatus)in//process...return.ok})}

swift - 列出 Vapor 中的所有路由

我想检查Vapor应用正在服务的所有路线的列表。是否有脚本或运行时命令会为我生成列表?我正在寻找类似于RubyonRails中的rakeroutes的东西 最佳答案 执行vaporbuild后从命令行运行vaporrunroutes 关于swift-列出Vapor中的所有路由,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/53333076/

swift - Vapor 的 crypto.json - 部署安全?

我在vapor中看到,这个crypto.json是使用vaportoolbelt创建的任何项目的一部分{"hash":{"method":"sha256","key":"password"},"cipher":{"method":"chacha20","key":"passwordpasswordpasswordpassword","iv":"password"}}是否应该为部署更新其中的任何内容? 最佳答案 是的,绝对不要使用默认密码或哈希key部署您的应用程序。有两种解决方案。1:secret文件夹您可以通过在secrets文件

json - JSON 函数调用中的 Swift Vapor 框架差异

我的问题是VaporJSON函数调用returnJSON(["foo":"bar"])与returntryJSON(node:["foo":"bar"])?两种变体都有效,什么是正确的方法?像returnJSON(node:["foo":"bar"])或returntryJSON(["foo":"bar"])一样混合它们将使构建失败。importVaporletdrop=Droplet()drop.get("json"){reqinreturnJSON(["foo":"bar"])}drop.run() 最佳答案 我想我可以回答这个