使用App::state()仍遇Ntex报错“App state is not configured”求助
使用Ntex运行API服务器时遇到App状态未配置错误
错误信息:
App state is not configured, to configure use App::state()
已通过App::state()配置应用状态,但错误仍存在。
我的配置
服务器配置代码如下:
#[ntex::main] async fn main() -> std::io::Result<()> { dotenv().ok(); let pool = Arc::new(Mutex::new(database::establish_connection())); let addr = SocketAddr::from(([0, 0, 0, 0], 8082)); let user_repository = Arc::new(Mutex::new(UserRepository::new(pool.clone()))); let user_service = UserService::new(user_repository); HttpServer::new(move || { App::new() .state(user_service.clone()) .service(handle_login) .service(handle_register) .wrap(Logger::default()) }) .bind(addr)? .run() .await }
错误截图
复现步骤
- 克隆仓库mt-auth-service
- 使用
cargo run启动服务器 - 请求
/login或其他任意接口
预期行为
服务器应处理请求并返回对应响应
实际行为
服务器处理请求时抛出上述错误
补充信息
- 此前能正常向数据库添加数据
- 错误在代码重构后出现
最初的UserService结构体定义:
struct UserService { repo: UserRepository, }
重构后改为线程安全包装:
struct UserService { repo: Arc<Mutex<UserRepository>>, }
对UserRepository结构体也做了类似修改,将其依赖包装在Arc<Mutex<...>>中,但错误仍未解决。
恳请提供问题原因分析或进一步调试的建议!
内容的提问来源于stack exchange,提问作者Shivank Anchal
相关产品推荐
相关产品推荐

