问题标签 [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 - 在 FromRequest 实现中无法触发 Outcome::Failure
在尝试开始使用火箭开发 api 时,我正在实现一个请求保护,它应该检查授权标头。当检查失败时,它应该导致失败,但那是我无法让它工作的地方。Outcome::Success
工作得很好并返回正确的对象,但是在触发时Outcome::Failure
我总是遇到无法编译的问题:
重现
main.rs
货运.toml
预期行为
参数 S 不需要声明,因为我没有使用参数 Success(S),而是使用 Failure(E)。根据文档,我可以返回错误或带有状态和错误的元组,但会弹出错误消息。我只仔细检查了可用资源和博客,但无法正确触发状态失败的结果。
环境:
VERSION="20.04.3 LTS (Focal Fossa)"
5.10.60.1-微软标准-WSL2
火箭 0.5.0-rc.1
我对这个主题很陌生,所以如果我需要提供更多信息,请告诉我。感谢您在此主题上的帮助
web - 是否可以在目录中的 rust Rocket 静态文件中显示文件列表
是否可以在目录中的 rust Rocket 静态文件中显示文件列表。我已经在火箭 0.4 和 0.5 中尝试过。但我没有成功。
它可以通过actix_web 和actix_files 来完成。
这是我的火箭代码:
rust - 生命周期与特征中的方法不匹配
我有一个异步响应器 impl,但是对象的生命周期有问题。编码:
编译错误:
rust - 如何测试 POST 请求?
花了一些时间学习 Rust,现在开始研究基于 Web 的应用程序。在 rust 中使用 Rocket crate 我探索了 GET 请求方法并很好地理解了这一点。现在在我的代码中有一个 POST 请求并且它运行,但我不确定如何将一本新书实际发布到我的虚拟数据库中?如何测试代码以检查收到的 REQUEST 是否正在添加新书?
我正在使用 MacOS。
抱歉,我对此很陌生-非常感谢您的帮助!
signals - Tokio signal::ctrl_c 故障转移 ssh
我的代码目前如下所示:
此代码在 Windows 和 Linux 上完美运行,但如果我在使用 ssh 连接的 VPS 上运行它,此代码会突然停止运行。通过停止工作,我的意思是:
- Rocket.rs 服务器没有启动
- 当我按 ctrl+c 时,程序只是退出而没有调用关闭代码
任何人都知道为什么会发生这种情况?
json - 具有属性和索引数组的结构?
我试图了解 rust 是否有可能定义一个可以实现某些属性的结构 + 一个索引的通用 Vec。
语境 :
为了提供更多背景信息,我目前正在使用Altair的上传文件功能,该功能实现了Apollo 团队设计的非官方 graphQL 文件上传规范。
客户端发送具有以下根结构的多部分请求:
这是 Altair 请求的示例:
根据 Rocket 的文档,似乎可以使用fromForm特征来简化解析多部分表单,该特征可以使用自定义结构将发送的数据解析为提供的结构。
问题
为了探索能不能通过 Rocket 的机制处理表单数据,我打算提供一个 Struct 来反映 Altair 发送的数据结构。
但是,我无法找到混合固定属性和通用 Vec 行为的 Struct 是否可行,因为我对 Rust 的理解还没有达到那个深度。
我知道这种Box
类型在这里可能会有所帮助,但不知道如何正确执行。
那么问题来了:可行吗?如果是这样,我应该如何定义预期的 Struct ?
感谢您的回答!
html - 如何从 HTML 表单中获取用户数据?
我正在使用 Rocket 和 Handlebars 编写一个 Rust 网络应用程序。
在我的 main.rs 中,我渲染了一个 Handlebars 模板。在那个模板中,我有一个表格。当用户输入他们的信息并按“提交”时,我想将该用户输入发送到另一个模板。
index.hbs,简化
main.rs,简化
我怎样才能做到这一点?