问题标签 [rust-rocket]
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.
json - 如何序列化 Template::render 的上下文
我正在尝试将 Handlebars 与 Rocket 和 Diesel 一起使用。不幸的是,我没有让这种组合起作用。
首先,我使用本教程构建了一个简单的 rest-API 。然后我尝试在不使用数据库连接的情况下测试车把模板。这部分效果很好。
接下来,我尝试了使用数据库连接的相同模板。如果我对模板的上下文部分使用与 API 中相同的方法,我会得到我不理解的编译器消息。如果 REST API 使用来自 serde 的 JSON,我希望输出应该是Serialize
.
故障功能:
结构:
数据库查询:
我希望编译成功。错误信息如下:
rust-diesel - Diesel 获取单亲和许多孩子 - 火箭
我已经能够让所有的父母和所有的孩子在一起。有人知道如何让单亲父母和所有的孩子在一起吗?
rust - Rocket.rs:可选的 PathBuf 没有匹配的路由
我正在创建一个投资组合网站,一些项目有静态 HTML 演示,我想根据 URL 中的 ID 提供这些演示。路线如下所示:
当我localhost:5050/demo/003/index.html
在浏览器中输入时,演示(以及演示文件夹中的所有其他内容)都会被加载。但是,一旦我输入,localhost:5050/demo/003/
我就会得到这个错误(同样/
的结果,最后没有):
我希望路由匹配,因为它PathBuf
是可选的并且设置为index.html
. 对我有意义...
我在某个地方出错了还是应该打开一个问题?
rust - 如何根据 Rocket 服务器的状态以不同的值响应?
我想根据服务器的状态以不同的值响应“相同的请求”。
我的期望是这些响应将循环发生:
- 有人发送
GET /
请求,它以“Hello, World!”响应。 - 然后他们发送一个
GET /
请求,它以“Hello,Rust!”作为响应。 - 然后他们发送一个
GET /
请求,它响应“你好,火箭!”。 - 然后他们发送一个
GET /
请求,它以“Hello,State!”作为响应。
我不想使用在 main 中初始化的变量(在 Rocket 路由处理程序中)。我想使用一个变量,其值可以在 main 中更改(在 Rocket 路由处理程序中)。
这段代码编译没有错误,但实际行为是它总是响应“Hello, World!”。
rust - 具有生命周期值的 Rust 函数返回类型
我想Responder
为我的结构实现这个特征Hero
,但是下面的方法签名(respond_to
):
引发编译错误:
依赖项:
该文档没有提供如何在返回类型时提供生命周期的示例。返回类型时如何指定生命周期?
rust - 如何从字符串创建响应?(Rust-Rocket)
我试图为“MyConfig”结构实现响应者特征。但我不知道如何创建可以从函数返回的响应(包括类型为字符串的主体)。
我试过这段代码。
这无法编译,并显示此错误。
rust - 使用 Rocket 支持范围请求
我知道 Rocket 支持标Accept-Ranges
头,但我将如何实现Responder
正确处理标Range
头的?
rust - 火箭编译失败
我正在尝试用一个非常小的示例来尝试 Rocket Web 框架。但是,Rocket (0.4.2) 不会与 nightly rustc 一起编译。(使用 Ubuntu linux。)
我正在使用夜间 rustc (2019-09-05) 进行构建。刚刚做了一个 rustup 来尝试最新的 rustc。我正在使用这些版本:
- nightly-x86_64-unknown-linux-gnu('/work/cd/rusty/cdbackend' 的目录覆盖)
- rustc 1.39.0-nightly (618768492 2019-09-05)
- 火箭0.4.2
我收到以下错误:
关于将编译哪个版本的任何想法?
rust - 可以在没有#[derive(Serialize)] 的情况下在枚举上实现/派生序列化吗?
我正在使用 rust + Rocket + 柴油 (orm) + serde_derive 来制作一个休息 api。目前,如果柴油由于某种原因未能插入用户,我正在处理 api 的错误处理。它看起来像这样:
但是,json: json!({"success": false, "error": error}),
给了我这个错误:
听上去,diesel::result::Error
does not #[derive(Serialize)]
,所以不能用json!
宏序列化。因此,我需要一些方法来diesel::result::Error
实现 implement/derive Serialize
。
提前感谢您的帮助。
顺便说一句,ApiResponse 看起来像:
rust - 使用自定义 Rocket Responder 处理 RequestGuard 中的错误
在使用 Rocket.rs 的 Web 服务器应用程序中,我使用了Responder
在我的 API 中实现的错误类型。此错误类型可确保统一呈现所有错误(如 RFC 7807 json)。
但是,我找不到在RequestGuards
. 似乎该from_request
函数导致Outcome
使用完全不同的模型,返回Outcome::Failure((Status, T))
错误。
如何确保这些请求防护中的错误以相同的 JSON 格式呈现?它甚至可以定制吗?
我曾尝试使用捕手,但这似乎并没有检索到任何错误信息。