hello. I have this code that works fine:
#[actix_web::main]
async fn main() -> std::io::Result<()> {
dotenv().ok();
let client = web::Data::new(prisma::new_client().await.unwrap());
HttpServer::new(move || {
App::new()
.app_data(client.clone())
.service(get_books)
})
.bind(("127.0.0.1", 4000))?
.run()
.await
}
but I get this error:
DEBUG actix_web::data] Failed to extract `Data<rust_gql_server::prisma::_prisma::PrismaClient>` for `/get_books` handler. For the Data extractor to work correctly, wrap the data with `Data::new()` and pass it to `App::app_data()`. Ensure that types align in both the set and retrieve calls.
when I change it to this, which is how I eventually would like it to be defined:
#[actix_web::main]
async fn main() -> std::io::Result<()> {
dotenv().ok();
let client = web::Data::new(prisma::new_client().await.unwrap());
HttpServer::new(move || {
App::new()
.app_data(client.clone())
.configure(endpoints) // <--- only change is switching service to this and the service will be added to endpoints config
})
.bind(("127.0.0.1", 4000))?
.run()
.await
}
I can provide more code on request but I thought just showing this might be enough. Any help on fixing this is appreciated. Thank you.