问题标签 [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.
javascript - 请求 rust Rocket 服务器获取来自 JavaScript 应用程序的错误连接被拒绝
我在 localhost 的机器上运行了一个 rust 服务器,端口:4200。我正在尝试使用使用 axios 库的 JavaScript 客户端向该服务器发出请求。
运行时的代码给出以下错误:
错误:在 TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14) 处连接 ECONNREFUSED 127.0.0.1:4200
我尝试重写代码以使用 fetch 库。这也返回一个连接被拒绝的错误。
从 Postman 尝试时,API 正在按要求工作。Get 调用也在浏览器中工作。从 JavaScript 调用时,无法找出此调用拒绝连接的原因。
我在 rust 服务器中启用了 CORS 选项。
编辑:
从我的机器运行时出现上述错误的客户端代码:
在我的机器上运行的浏览器请求: http://localhost:4200/createOffer/1/license
rust - Rocket 有类似 Flask 的蓝图吗?
在 Python 的 Flask 中,有一个叫做 blueprints 的特性,SO 甚至对它有一个很好的概述。Rocket 是否有类似的东西,所以我可以更好地构建我的代码而不是在main中安装每条路线?
json - 如何使用 Rocket 响应包含 JSON 数据的 POST 请求?
我正在尝试使用Rocket crate创建后端:
当我运行cargo run
一切正常但是,当我使用邮递员发送 POST 请求进行测试时,我收到此错误:
我已将标头内容类型设置为 JSON 和其他可用的语言,但使用 Rocket 我无法让它工作。
这是我的 JSON 正文:
如何解决这个问题?
database - 如何从 Rocket 的环境中建立数据库连接?
我的 Rocket 应用程序有以下工作数据库连接设置:
main.rs:
Rocket.toml:
我想从环境中设置用户名、密码和数据库名称。期望它是类似的东西ROCKET_MY_DB=postgres://user:pass@localhost/my_db
,但它没有工作。无法找到 Rocket 的相关数据库示例。
postgresql - Rust:如何将 SocketAddr 转换为 IpNetwork?
使用 Diesel 和 Rocket,我希望能够记录请求来自的 IP。这是类似的讨论,但没有结论。Diesel 将 Postgresinet
类型映射到IpNetwork
,但 RocketSocketAddr
从请求数据中返回。如何转换SocketAddr
为IpNetwork
?
模型.rs:
路线.rs:
cookies - 使用 Rocket 在 Rust 中取消设置会话 Cookie
到目前为止,我无法通过logout
在 Rocket 中创建的端点取消设置会话。
下面是创建 cookie 的代码:
这是试图破坏它的代码
当 POST '/signup' 或 POST '/login' 被成功调用时,cookie 会被添加。
在 Chrome devtools 中,您可以看到 POST '/login' 响应中设置的 cookie。
然后我使用 POST '/logout' 注销,并得到以下响应:
在这一点上,我进行了一次硬刷新。之后 GET '/get-profile' 被调用,这在注销时不应该工作,但它仍然在请求标头中发送 cookie。
所以似乎会话cookie没有被正确取消,在Rocket中有没有正确的方法来做到这一点?
rust - 如何将 PickleDB 与 Rocket/Juniper 上下文一起使用?
我正在尝试使用PickleDB(内存中的键/值存储)编写基于Rocket / Juniper / Rust 的 GraphQL 服务器。
pickle db 在开始时创建/加载,并交给 Rocket 管理:
我想从我的 Guard 中的 Rocket State中检索 PickleDb 实例:
这不起作用,因为国家只给了我一个参考:
当我更改 Context 结构以包含引用时,我会遇到我还不熟悉的生命周期问题:
我尝试使用 'static 确实让 rust 非常不开心,我尝试使用 FromRequest 的请求生命周期 (?) 'r,但这也不起作用......
我怎样才能让它工作?由于我对生锈很陌生,这是做事的正确方法吗?
rust - Rust/Rocket 中的 POST 声明问题
我正在尝试用火箭编写一个简单的 api 来帮助自己学习 rust,但是在我尝试声明 POST 路由后遇到了这个错误:
这是该路由的函数声明:
我正在导入这些宏:
我为 GET 声明了另一种方法,但该方法工作正常。我做了一些研究,发现了这些示例和文档: https ://api.rocket.rs/v0.4/rocket_codegen/attr.post.html https://rocket.rs/v0.4/guide/requests/ #格式
据我所知,我遵循这两页中提到的约定,我有点迷失从这里去哪里。是否有一些我缺少的语法或导入?