问题标签 [actix-web]

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 投票
0 回答
444 浏览

rust - Actix-web 松散类型 JSON 到强类型结构

我有一个案例需要对传入的 JSON 执行一些类型转换。不同的客户端以不同的类型发送几乎相同的数据:

我的结构和处理程序:

当我尝试执行 JSON 来构造序列化时,会发生反序列化错误。

我尝试使用 serde_json 序列化原始正文,但没有弄清楚如何正确进行存在检查和错误处理,所以我坚持:

这只能在夜间使用中完成try_trait。我认为这是一种愚蠢的方式。

我有哪些选择?我正在使用 Rust 1.43 和 actix-web 2.0.0。

0 投票
2 回答
580 浏览

postgresql - 是否可以在没有 Struct 的情况下反序列化 tokio_postgres 行?

我是 Rust 的新手,正在尝试构建一个简单的 API 服务器,该服务器连接到 Postgresql 数据库,该数据库具有运行直接 sql 查询并输出 JSON 作为结果的 API 路由。

我做了谷歌,发现所有可用包中使用的所有示例都需要首先将每行数据解包到 Struct 中,这是我试图绕过的东西。我希望能够运行动态 sql 查询并将其作为 JSON 数据输出到客户端。

我正在使用 actix-web、deadpool-postgres 和 tokio_postgres

这是我目前所拥有的 main.rs

这是 handlers.rs

如果您能够在没有 Struct 的情况下执行此操作,有人可以分享您的代码片段吗?谢谢

0 投票
1 回答
1780 浏览

rust - Actix 2.0 中如何从请求中获取 Cookie

我想从请求中获取 cookie 的值。我发现在 Actix 0.xx 中,cookie 的值可以通过调用获得

我对 Rust 和 Actix 很陌生。目前我正在从声明的函数中解析它,该函数得到HttpRequest.headers(). 我不确定在 Actix 0.xx 中是否有直接获取 cookie 的方法

0 投票
1 回答
601 浏览

postgresql - Actix Rust deadpool_postgres:未释放数据库连接

我有一个连接到 Postgres 数据库的 Actix-web 服务器。

我注意到在 1000 次请求后,我的 Postgres DB 的 RAM 使用率飙升

当我停止 actix-web 时,db 持有的 RAM 被清除。这让我相信我的代码没有释放连接。

我找不到实际释放连接的示例。看起来它是在其他人的代码中推断出来的。

这是我的:

0 投票
0 回答
1743 浏览

rust - actix-web如何通过解压缩zip文件发送响应数据流

如何实现actix-web响应发送文件数据流,我想通过解压zip文件发送到http响应体

0 投票
1 回答
564 浏览

postgresql - 如何在 Rust 上使用 Actix 创建 POST 方法?

我正在研究一种将微服务从 Ruby 移植到 Rust 的方法。我选择的框架是 Actix(但其他任何人都可以毫无问题地工作)。现在,我试图了解如何创建一个接收两个 JSON 作为输入的 POST 方法。这两个 JSON 有两个完全不同的结构,并且在结构内可以有不同的对象(JSON 对象)稍后存储在两个 PostgreSQL JSONB 字段中。

关于如何构造函数和相关结构的任何提示?我想将它作为字符串接收,但我不确定它是正确的做法。

0 投票
1 回答
1785 浏览

redis - 将 redis-rs 与 actix-web 一起使用

我正在尝试将 redis 作为web::Data上下文添加到我的 actix-web rust 应用程序中:

我收到以下错误: the trait bound 'redis::Connection: std::clone::Clone' is not satisfied in '[closure@src/main.rs:48:21: 48:81 redis_con:redis::Connection]'

我已经尝试将它包装为一个Arc<redis::Connection>,这也不适用于在其子模块内部redis::Connection没有实现的某些类型Sync

在这种情况下我没有看到 Rust 的概念吗?这是我的第一个真正的 Rust 项目之一,所以我可能非常粗略地忽略了一些东西。

0 投票
1 回答
1292 浏览

rust - 返回响应后在后台运行长时间运行的异步函数

在我的一个 actix-web 处理程序中,我想调用一个在后台运行并立即向用户返回响应的函数:

如果我await将来在计算之后才完成响应,如果我不这样做await,则根本不会执行该函数。

0 投票
1 回答
284 浏览

rust - 将 Actix 身份与瞻博网络 GraphQL 结合使用

我使用带有 Cookie 策略的 Actix Identity来存储用户会话,并即将使用Juniper从 REST 迁移到 GraphQL 。

在 GraphQL 中使用actix identity.

在 Actix 中使用 Juniper,我必须将 GraphQL 请求移动到web::block

然后将 Identity 传递Juniper Context给 Juniper 以执行查询login

唯一的问题是,由于线程安全,我无法传递Actix Identity给。web::block

遇到无法通过identity线程安全的问题,我想到了另一种解决方案。

通过强制 Juniper 返回一个附加字段来读取外部线程web::block并执行,例如:

我能想到的解决方法是以某种方式将 Actix Identity 传递到web::block或强制 Juniper 返回附加字段以在外部执行web::block

有什么建议吗?

0 投票
1 回答
637 浏览

rust - Rust actix_web::main “预期 `std::result::Result<(), std::io::Error>` 因为返回类型”但建议的类型不起作用

我是 rust 新手,开始尝试使用 actix_web 和 sqlx。目标是创建一个简单的开源博客引擎,但是在我实现 CLI 参数解析器和基本 SQL 连接池之后,代码不再编译。我收到以下错误:

该错误建议std::result::Result<(), std::io::Error>用作返回类型,但是用它替换当前返回类型时出现相同的错误:

到目前为止,我找不到任何有同样问题的人,也找不到任何原因。

我的代码:

/货物.toml

/src/main.rs

我希望有人可以帮助我解决这个问题,因为我无法继续从事该项目,而这个问题存在。