问题标签 [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.
rust - 我可以使用自己的序列化结构在 Rocket 中渲染模板吗?
我正在使用Rocket,我正在尝试创建一个Layout
结构。我已经实现serde::Serialize
了,因为文档说静态方法Template::render
的第二个参数接受一个实现的结构Serialize
:
我得到错误
我做错了什么?
rust - 无法从 Rocket 路由返回字符串
我正在尝试创建一个向客户端返回字符串的 Rocket 路由,但我无法让它工作。到目前为止,这就是我所拥有的:
看起来它应该可以工作,但它给了我一个错误expected (), found enum std::result::Result
:
这对我来说毫无意义,因为我要返回 aResult
和 a String
。
forms - 使用 Rocket 中的结构解析 HTTP 多部分 POST
我想使用结构解析 Rocket 中的 HTTP POST。提交表单时失败。
我阅读了正文数据示例并拥有此代码。
我使用 curl 提交:
Rocket 控制台响应
我想提交一个文件,因此multipart/form-data
. 在尝试查找原因时,我String
在结构中使用了 a 以使其更简单。所以首先它以 a 响应,Matched:
然后没有匹配的路由。
这个更简单的 POST 有效:
我正在使用最新的夜间 Rust 和 rustup。
我究竟做错了什么?
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>
.
要实际执行解码,我:
- 获取
"json"
表单数据的key; - URL解码值;
- 解析值中包含的 JSON。
尽快出手。执行此操作的代码(为方便读者使用显式类型注释):
以粘贴运行方式演示问题的要点(不适用于 Playground,因为它依赖于 Rocket)。
我认为:
- 的
&RawStr
有encoded
一生'f
。 - A
String
是由它创建的url_decode
,它一直存在到函数结束 serde_json
接受一个不需要与 重合的&'x str
地方,并返回一个值(因此它一直存在到函数的末尾,并且由于它被返回,因此被移到它之外)'x
'de
但似乎我的理解是不正确的:
我做错了什么,如何正确返回反序列化值?
json - 如何从内容类型为 application/hal+json 的 Rocket 处理程序响应?
我有一个用Rocket编写的项目,其端点/foo
以application/json
. 我正在使用火箭、rocket_codegen、serde 和 serde_json。
这很好用,但我需要回复,application/hal+json
所以我想我需要写自己的回复,但我失败了。如何使用 Content-Type 返回我的 JSON application/hal+json
?
rust - Rocket 没有在 URL 中解析 RawStr 以匹配路由
Rocket 网站上的指南建议可以对动态路线进行排名。该示例使用不同类型的动态部分作为路由的匹配条件。当我将 url 与 a 以外的任何内容一起放置时usize
,我收到以下错误:
我正在使用的代码:
我希望在显示测试时不是404 error
一个页面。为什么不这样做?/user/three
last rank
rust - 无法移出借用内容,没有借用内容
我正在使用 Rust 和 Rocket 构建 REST API。我有一个端点,在该端点上创建一个新用户,定义如下:
注意这里没有借用的内容;两者user_data
都db
拥有。不过,我在编译时收到以下错误:
作为参考,函数签名into_new_user
是
这里发生了什么?如果我真的借了任何东西,这个错误会更容易理解,但考虑到我拥有所有有问题的东西,我很困惑。
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
。
我该如何解决这个问题。请帮忙!谢谢!