gpt4 book ai didi

swift - 路由时如何在请求中传递参数(使用 Vapor 的服务器端 Swift)

转载 作者:搜寻专家 更新时间:2023-11-01 06:11:29 28 4
gpt4 key购买 nike

我正在使用 Swift 中的 Vapor 框架编写 Web 服务。

在我的应用程序中,我有用户模型。以下是我如何为所有用户发送 get 请求。

router.get("users") { request in
return User.query(on: request).all()
}

在本地运行服务器后,为了获取用户,我可以发出类似 localhost:8080/users 的请求

现在,我想将参数添加到请求中以获得超过给定年龄的用户。该请求将类似于 localhost:8080/users?above_age=25

如何使用Vapor框架在请求中添加参数?我试过 available docs但我想不通。

由于我现在开始使用 Vapor 的服务器端 Swift,任何对使用 Vapor 3 的资源的引用也将有助于解决我可能面临的其他问题。谢谢!

最佳答案

查询字符串参数将在查询容器中,因此可以像下面这样访问它们。

router.get("users") { request -> Future<[User]> in
if let minimumAge = request.query[Int.self, at: "above_age"] {
return User.query(on: request).filter(\.age > minimumAge).all()
}
return User.query(on: request).all()
}

如果请求将 above_age 作为查询参数,路由器将返回超过该年龄的用户列表,否则它将返回所有用户。

关于swift - 路由时如何在请求中传递参数(使用 Vapor 的服务器端 Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891140/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com