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

rust - 打开的图像作为全局变量?

我想编写一个调整巨大图像大小的服务器。由于在每个请求上加载它都会花费很多时间,因此我决定预先加载它。不幸的是,我收到以下错误:

这是代码:

要编译它,您需要rocket根据其最新的 Github checkout(当前:831d8dfbe30dd69f0367a75361e027127b2100e1)和imagecrate 安装它。

是否可以创建这样的全局变量?如果没有,我还有其他选择吗?

编辑:这被标记为这个问题的重复,但正如 Boiethios 所示,Rocket 的 API 可以更好地解决这个特定情况。

0 投票
1 回答
1498 浏览

rust - 没有为 Rocket 的 UUID 找到 Serde 的序列化实现

我正在尝试使用UUIDRocket 中的结构作为字段类型来创建自定义结构。我希望使用 Serde 对其进行序列化,以便轻松将其转换为 JSON。

尝试执行此操作时,出现错误:

我的结构:

我的进口:

我使用结构的端点:

我检查了所有依赖项,并且serderocket_contrib. 我已经没有想法接下来要检查什么了。

0 投票
1 回答
1288 浏览

json - JSON响应的反序列化在字符串中保留引号

我正在使用 reqwest 查询 Google API:

GoogleResponse结构定义为

这一切都编译好了,我可以提出请求,但是我在String字段中得到的结果包含原始的". 应该是这样吗?

例如,当打印我得到的格式化地址之一时:

当我真的想要

我做错了什么还是这是预期的行为?

0 投票
1 回答
761 浏览

rust - 找不到指定的过程。(操作系统错误 127) - #![plu​​gin(rocket_codegen)]

我是 Rust 编程的新手,我正在构建 Rust + Diesel + Rocket 框架。

当我运行命令cargo checkcargo run时,出现以下错误:

操作系统:Windows 10

货物.toml

Rust 版本:rustc 1.32.0-nightly (0c999ed13 2018-12-03)

main.rs 文件(第二行给我这个错误)有什么线索吗?

0 投票
2 回答
1607 浏览

webassembly - WebAssembly 中的无效或意外令牌

我正在尝试使用 Rocket运行 WebAssembly 程序(用 Rust 编写,来自https://rustwasm.github.io/book/game-of-life/hello-world.html的示例程序)。WebAssembly 使用 wasm-pack 编译并使用 wasm_bindgen。wasm 二进制文件content::JavaScript<Vec<u8>>在 Rocket 中表示,这似乎是一个“有效”的解决方案。二进制文件已“正确”获取,但 Chrome 会打印 Uncaught SyntaxError: Invalid or unexpected token。这是由于表示content::JavaScript<Vec<u8>>在获取期间存在错误(尽管发送字节与 wasm 文件中的字节匹配)还是其他地方的错误?

我希望有人可以解释为什么生成的二进制文件中有 SyntaxError。

0 投票
1 回答
328 浏览

rust - 如何使用 Rust 关键字作为查询动态参数创建端点?

我使用 Rocket 库,我需要创建一个端点,其中包含动态参数“type”,一个关键字。

我试过这样的东西,但它没有编译:

编译器错误:

火箭中是否可以有一个名为“type”的参数?由于我遵循的规范,我无法重命名参数。

0 投票
2 回答
1043 浏览

docker - 为什么我发布的端口不起作用?

我创建了一个包含 rust 应用程序的 docker 映像,该应用程序响应获取端口 8000 上的请求。该应用程序本身是一个使用火箭库 ( https://rocket.rs/ ) 的基本示例,它看起来像这样

我已经编译并调用了它server

然后我创建了一个 Docker 文件来托管它

我使用构建 docker 映像 $ docker build -t port_test并运行它$ docker run -p 8000:8000 port_test

在这一点上,一切看起来都很好

如果我在容器内运行 curl 它工作正常

但是我不能从主机做同样的事情

0 投票
1 回答
460 浏览

rust - Json 是如何工作的(表单数据没有表单内容类型)

我对生锈完全陌生。我正在尝试用 Rocket 创建一个非常简单的 API。我的以下路线不起作用,我不知道为什么。

当我发送请求时,我有以下内容:

有人能帮我吗 ?

0 投票
0 回答
448 浏览

rust - Rocket.rs 按子域路由

有没有办法以不同的方式处理来自不同子域的请求?例如,我有www.example.com哪些我想退货www.htmlaaa.example.com哪些我想退货aaa.html

我知道如何获取主机名,我总是可以检查它并有不同的分支来响应相同的请求并且每个分支都检查不同的主机名,但这似乎有点过分。

我想知道是否有这样的事情:

0 投票
2 回答
3721 浏览

rest - 在 Rocket 中返回 HTTP 状态不是 200 的 JSON

我希望我的 Rocket API 有这样的路由:

当客户端发送{ "name": "mything" }时,一切都应该没问题,我知道该怎么做,但是当它发送时,{ "name": "foo" }它应该以如下方式响应:

如何在 Rocket 中以 JSON 对象和不同于 200 的 HTTP 状态码之类的结果进行响应?

这是我到目前为止所尝试的:

  • impl FromRequest适合我的Thing类型。这让我可以选择一个状态码,因为我可以编写自己的from_request函数,但我不能返回任何其他内容。
  • 像这个例子一样注册一个错误捕获器,但是这样我只能在没有上下文的情况下对一个 HTTP 状态代码做出反应。我有太多失败模式,无法为每种模式保留一个 HTTP 状态代码。