问题标签 [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 投票
2 回答
2835 浏览

rust - 如何使用带有 Rocket 的 abonander/multipart 解析多部分表单?

这可能对我有用

我不知道你打算如何解析一个多部分表单,除了手动使用原始后数据字符串作为输入

我将尝试调整Hyper 示例,但我们将不胜感激任何帮助。

相关问题:

0 投票
2 回答
258 浏览

rust - 我可以使用自己的序列化结构在 Rocket 中渲染模板吗?

我正在使用Rocket,我正在尝试创建一个Layout结构。我已经实现serde::Serialize了,因为文档说静态方法Template::render的第二个参数接受一个实现的结构Serialize

我得到错误

我做错了什么?

0 投票
1 回答
1163 浏览

rust - 构建 Rocket 车把示例时未解决的导入模板

我无法让 Rocket车把示例 工作。这些是我的 Cargo.toml 依赖项:

错误:

第一个错误查找Template并找不到它。在示例的git repo中,它不存在。这个例子怎么可能有效?我确信我的 main.rs 中的 Rust 代码是可以的,它与示例中的相同。我认为这只是一个依赖问题。

我将 Cargo.toml 更改为:

现在我得到这些错误:

0 投票
1 回答
299 浏览

rust - 无法从 Rocket 路由返回字符串

我正在尝试创建一个向客户端返回字符串的 Rocket 路由,但我无法让它工作。到目前为止,这就是我所拥有的:

看起来它应该可以工作,但它给了我一个错误expected (), found enum std::result::Result

这对我来说毫无意义,因为我要返回 aResult和 a String

0 投票
1 回答
1172 浏览

forms - 使用 Rocket 中的结构解析 HTTP 多部分 POST

我想使用结构解析 Rocket 中的 HTTP POST。提交表单时失败。

我阅读了正文数据示例并拥有此代码。

我使用 curl 提交:

Rocket 控制台响应

我想提交一个文件,因此multipart/form-data. 在尝试查找原因时,我String在结构中使用了 a 以使其更简单。所以首先它以 a 响应,Matched:然后没有匹配的路由。

这个更简单的 POST 有效:

我正在使用最新的夜间 Rust 和 rustup。

我究竟做错了什么?

0 投票
1 回答
659 浏览

rust - 在 FromForm 中反序列化 JSON 时的生命周期

我无法理解这段代码的生命周期之间的关系。基本上,我有一个 Rocket API 可以接收一些x-www-form-urlencoded数据,只有一个键:json. 直观地说,这个键包含一个 JSON 值,用百分比编码编码,一个 struct Message<T>

(我知道这是次优的 API 设计,但这是逆向工程工作,所以我别无选择)

为了方便地用作请求保护From<Message<T>>,我正在实施FromForm. 为此,我需要FromForm<'f>为任何Message<T>地方T实现 implements Deserialize<'de>。我将我的 impl 签名写为impl<'f, 'de, T> FromForm<'f> for Message<T> where T: Deserialize<'de>.

要实际执行解码,我:

  1. 获取"json"表单数据的key;
  2. URL解码值;
  3. 解析值中包含的 JSON。

尽快出手。执行此操作的代码(为方便读者使用显式类型注释):

以粘贴运行方式演示问题的要点(不适用于 Playground,因为它依赖于 Rocket)。

我认为:

  • &RawStrencoded一生'f
  • AString是由它创建的url_decode,它一直存在到函数结束
  • serde_json接受一个不需要与 重合的&'x str地方,并返回一个值(因此它一直存在到函数的末尾,并且由于它被返回,因此被移到它之外)'x'de

但似乎我的理解是不正确的:

我做错了什么,如何正确返回反序列化值?

0 投票
1 回答
560 浏览

json - 如何从内容类型为 application/hal+json 的 Rocket 处理程序响应?

我有一个用Rocket编写的项目,其端点/fooapplication/json. 我正在使用火箭、rocket_codegen、serde 和 serde_json。

这很好用,但我需要回复,application/hal+json所以我想我需要写自己的回复,但我失败了。如何使用 Content-Type 返回我的 JSON application/hal+json

0 投票
1 回答
477 浏览

rust - Rocket 没有在 URL 中解析 RawStr 以匹配路由

Rocket 网站上的指南建议可以对动态路线进行排名。该示例使用不同类型的动态部分作为路由的匹配条件。当我将 url 与 a 以外的任何内容一起放置时usize,我收到以下错误:

我正在使用的代码:

我希望在显示测试时不是404 error一个页面。为什么不这样做?/user/threelast rank

0 投票
1 回答
863 浏览

rust - 无法移出借用内容,没有借用内容

我正在使用 Rust 和 Rocket 构建 REST API。我有一个端点,在该端点上创建一个新用户,定义如下:

注意这里没有借用的内容;两者user_datadb拥有。不过,我在编译时收到以下错误:

作为参考,函数签名into_new_user

这里发生了什么?如果我真的借了任何东西,这个错误会更容易理解,但考虑到我拥有所有有问题的东西,我很困惑。

0 投票
1 回答
1036 浏览

rust - Rust/Rocket 无法编译 `state` 和 `pear_codegen`

我开始使用 Rust 和 Rocket。

我正在按照 Rocket Getting Started的说明进行操作,但出现“错误:无法编译state”。完整的日志在这里:`

~/.cargo/bin/cargo run 更新注册表https://github.com/rust-lang/crates.io-index 下载rocket_codegen v0.3.3 下载rocket v0.3.3
编译gcc v0.3.54 编译smallvec v0.4.4 编译libc v0.2.34 编译version_check v0.1.3 编译language-tags v0.2.2 编译serde v1.0.23 编译状态 v0.3.2 错误[E0554]: #![feature] may not be used on stable release channel --> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state- 0.3.2/src/lib.rs:1:1 | 1 | #![特征(const_fn)] | ^^^^^^^^^^^^^^^^^^^^^

错误[E0554]: #![feature] 可能无法在稳定发布通道上使用--> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state-0.3.2/src/lib。 rs:2:1 | 2 | #![特征(const_unsafe_cell_new)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

错误[E0554]: #![feature] 可能无法在稳定发布通道上使用--> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state-0.3.2/src/lib。 rs:3:1 | 3 | #![特征(const_atomic_usize_new)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

错误[E0554]: #![feature] 可能无法在稳定发布通道上使用--> /Users/ktenjin/.cargo/registry/src/github.com-1ecc6299db9ec823/state-0.3.2/src/lib。 rs:4:1 | 4 | #![特征(const_atomic_bool_new)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

错误:由于 4 个先前的错误而中止

错误:无法编译state。警告:构建失败,等待其他作业完成...错误:构建失败

我再次运行它,我得到了

错误:无法编译pear_codegen

我该如何解决这个问题。请帮忙!谢谢!