在函数签名中生锈私有泛型
rust private generics in function signature
我尝试创建 actix
网络应用程序,我想在单独的函数中注册路由
use actix_web::{web, App, HttpResponse, HttpServer, Responder};
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
let app = App::new();
register_routes(&app)
})
.bind(("127.0.0.1", 8080))?
.run()
.await
}
fn register_routes(app: App<AppEntry>) -> App<AppEntry> {
App::new()
.route("/hey", web::get().to(hello))
}
async fn hello() -> impl Responder {
HttpResponse::Ok().body("Hey there!")
}
App::new() 函数 returns App<AppEntry>
但是 AppEntry 是私有的
register_routes 函数应该如何?
您可以为此使用 App::configure
,避免直接传递 App<AppEntry>
的需要,就像它们在 this example.
中显示的那样
顺便说一下,在您的 register_routes
函数中,您只是创建了另一个新的 App
,您实际上并没有使用传入的函数。
我尝试创建 actix
网络应用程序,我想在单独的函数中注册路由
use actix_web::{web, App, HttpResponse, HttpServer, Responder};
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
let app = App::new();
register_routes(&app)
})
.bind(("127.0.0.1", 8080))?
.run()
.await
}
fn register_routes(app: App<AppEntry>) -> App<AppEntry> {
App::new()
.route("/hey", web::get().to(hello))
}
async fn hello() -> impl Responder {
HttpResponse::Ok().body("Hey there!")
}
App::new() 函数 returns App<AppEntry>
但是 AppEntry 是私有的
register_routes 函数应该如何?
您可以为此使用 App::configure
,避免直接传递 App<AppEntry>
的需要,就像它们在 this example.
顺便说一下,在您的 register_routes
函数中,您只是创建了另一个新的 App
,您实际上并没有使用传入的函数。