问题标签 [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.

0 投票
0 回答
103 浏览

json - 如何序列化 Template::render 的上下文

我正在尝试将 Handlebars 与 Rocket 和 Diesel 一起使用。不幸的是,我没有让这种组合起作用。

首先,我使用本教程构建了一个简单的 rest-API 。然后我尝试在不使用数据库连接的情况下测试车把模板。这部分效果很好。

接下来,我尝试了使用数据库连接的相同模板。如果我对模板的上下文部分使用与 API 中相同的方法,我会得到我不理解的编译器消息。如果 REST API 使用来自 serde 的 JSON,我希望输出应该是Serialize.

故障功能:

结构:

数据库查询:

我希望编译成功。错误信息如下:

0 投票
1 回答
75 浏览

rust-diesel - Diesel 获取单亲和许多孩子 - 火箭

我已经能够让所有的父母和所有的孩子在一起。有人知道如何让单亲父母和所有的孩子在一起吗?

0 投票
1 回答
402 浏览

rust - Rocket.rs:可选的 PathBuf 没有匹配的路由

我正在创建一个投资组合网站,一些项目有静态 HTML 演示,我想根据 URL 中的 ID 提供这些演示。路线如下所示:

当我localhost:5050/demo/003/index.html在浏览器中输入时,演示(以及演示文件夹中的所有其他内容)都会被加载。但是,一旦我输入,localhost:5050/demo/003/我就会得到这个错误(同样/的结果,最后没有):

我希望路由匹配,因为它PathBuf是可选的并且设置为index.html. 对我有意义...

我在某个地方出错了还是应该打开一个问题?

0 投票
1 回答
117 浏览

rust - 如何根据 Rocket 服务器的状态以不同的值响应?

我想根据服务器的状态以不同的值响应“相同的请求”。

我的期望是这些响应将循环发生:

  • 有人发送GET /请求,它以“Hello, World!”响应。
  • 然后他们发送一个GET /请求,它以“Hello,Rust!”作为响应。
  • 然后他们发送一个GET /请求,它响应“你好,火箭!”。
  • 然后他们发送一个GET /请求,它以“Hello,State!”作为响应。

我不想使用在 main 中初始化的变量(在 Rocket 路由处理程序中)。我想使用一个变量,其值可以在 main 中更改(在 Rocket 路由处理程序中)。

这段代码编译没有错误,但实际行为是它总是响应“Hello, World!”。

0 投票
1 回答
863 浏览

rust - 具有生命周期值的 Rust 函数返回类型

我想Responder为我的结构实现这个特征Hero,但是下面的方法签名(respond_to):

引发编译错误:

依赖项:

该文档没有提供如何在返回类型时提供生命周期的示例。返回类型时如何指定生命周期?

0 投票
1 回答
327 浏览

rust - 如何从字符串创建响应?(Rust-Rocket)

我试图为“MyConfig”结构实现响应者特征。但我不知道如何创建可以从函数返回的响应(包括类型为字符串的主体)。

我试过这段代码。

这无法编译,并显示此错误。

0 投票
0 回答
72 浏览

rust - 使用 Rocket 支持范围请求

我知道 Rocket 支持Accept-Ranges,但我将如何实现Responder正确处理Range的?

我找到了一个版本,它对实现处理标头有一些初步支持,但它似乎不再存在ResponderFileRange

0 投票
2 回答
323 浏览

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

我收到以下错误:

关于将编译哪个版本的任何想法?

0 投票
2 回答
1039 浏览

rust - 可以在没有#[derive(Serialize)] 的情况下在枚举上实现/派生序列化吗?

我正在使用 rust + Rocket + 柴油 (orm) + serde_derive 来制作一个休息 api。目前,如果柴油由于某种原因未能插入用户,我正在处理 api 的错误处理。它看起来像这样:

但是,json: json!({"success": false, "error": error}),给了我这个错误:

听上去,diesel::result::Errordoes not #[derive(Serialize)],所以不能用json!宏序列化。因此,我需要一些方法来diesel::result::Error实现 implement/derive Serialize

提前感谢您的帮助。

顺便说一句,ApiResponse 看起来像:

0 投票
1 回答
1618 浏览

rust - 使用自定义 Rocket Responder 处理 RequestGuard 中的错误

在使用 Rocket.rs 的 Web 服务器应用程序中,我使用了Responder在我的 API 中实现的错误类型。此错误类型可确保统一呈现所有错误(如 RFC 7807 json)。

但是,我找不到在RequestGuards. 似乎该from_request函数导致Outcome使用完全不同的模型,返回Outcome::Failure((Status, T))错误。

如何确保这些请求防护中的错误以相同的 JSON 格式呈现?它甚至可以定制吗?

我曾尝试使用捕手,但这似乎并没有检索到任何错误信息。