问题标签 [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.
rust - Actix-web 松散类型 JSON 到强类型结构
我有一个案例需要对传入的 JSON 执行一些类型转换。不同的客户端以不同的类型发送几乎相同的数据:
我的结构和处理程序:
当我尝试执行 JSON 来构造序列化时,会发生反序列化错误。
我尝试使用 serde_json 序列化原始正文,但没有弄清楚如何正确进行存在检查和错误处理,所以我坚持:
这只能在夜间使用中完成try_trait
。我认为这是一种愚蠢的方式。
我有哪些选择?我正在使用 Rust 1.43 和 actix-web 2.0.0。
postgresql - 是否可以在没有 Struct 的情况下反序列化 tokio_postgres 行?
我是 Rust 的新手,正在尝试构建一个简单的 API 服务器,该服务器连接到 Postgresql 数据库,该数据库具有运行直接 sql 查询并输出 JSON 作为结果的 API 路由。
我做了谷歌,发现所有可用包中使用的所有示例都需要首先将每行数据解包到 Struct 中,这是我试图绕过的东西。我希望能够运行动态 sql 查询并将其作为 JSON 数据输出到客户端。
我正在使用 actix-web、deadpool-postgres 和 tokio_postgres
这是我目前所拥有的 main.rs
这是 handlers.rs
如果您能够在没有 Struct 的情况下执行此操作,有人可以分享您的代码片段吗?谢谢
rust - Actix 2.0 中如何从请求中获取 Cookie
我想从请求中获取 cookie 的值。我发现在 Actix 0.xx 中,cookie 的值可以通过调用获得
我对 Rust 和 Actix 很陌生。目前我正在从声明的函数中解析它,该函数得到HttpRequest.headers()
. 我不确定在 Actix 0.xx 中是否有直接获取 cookie 的方法
postgresql - Actix Rust deadpool_postgres:未释放数据库连接
我有一个连接到 Postgres 数据库的 Actix-web 服务器。
我注意到在 1000 次请求后,我的 Postgres DB 的 RAM 使用率飙升。
当我停止 actix-web 时,db 持有的 RAM 被清除。这让我相信我的代码没有释放连接。
我找不到实际释放连接的示例。看起来它是在其他人的代码中推断出来的。
这是我的:
rust - actix-web如何通过解压缩zip文件发送响应数据流
如何实现actix-web响应发送文件数据流,我想通过解压zip文件发送到http响应体
postgresql - 如何在 Rust 上使用 Actix 创建 POST 方法?
我正在研究一种将微服务从 Ruby 移植到 Rust 的方法。我选择的框架是 Actix(但其他任何人都可以毫无问题地工作)。现在,我试图了解如何创建一个接收两个 JSON 作为输入的 POST 方法。这两个 JSON 有两个完全不同的结构,并且在结构内可以有不同的对象(JSON 对象)稍后存储在两个 PostgreSQL JSONB 字段中。
关于如何构造函数和相关结构的任何提示?我想将它作为字符串接收,但我不确定它是正确的做法。
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 项目之一,所以我可能非常粗略地忽略了一些东西。
rust - 返回响应后在后台运行长时间运行的异步函数
在我的一个 actix-web 处理程序中,我想调用一个在后台运行并立即向用户返回响应的函数:
如果我await
将来在计算之后才完成响应,如果我不这样做await
,则根本不会执行该函数。
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
。
有什么建议吗?
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
我希望有人可以帮助我解决这个问题,因为我无法继续从事该项目,而这个问题存在。