< 返回版块

colatea 发表于 2024-01-23 12:17

Tags:axum,cors,跨域

 let cors = CorsLayer::permissive();
    let app = Router::new()
        .layer(cors)
        .route("/", get(hello))
        .route("/sse", get(sse_handler));

    // run our app with hyper, listening globally on port 3000
    let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
    axum::serve(listener, app).await.unwrap();

编译没问题,单访问也没问题,就是跨域不生效,大佬有标准写法吗 cors那层单写,全放,都不行

cargo 1.75.0 (1d8b05cdd 2023-11-20)

评论区

写评论
作者 colatea 2024-01-23 13:50

果然好了,谢谢。

然后突然想起来了,上次也掉这坑里了。

JackySu 2024-01-23 13:29

补充:request->1->2->3->handler->3->2->1->response

--
👇
JackySu: layer放route后面

let app = Router::new()
  .route("...", ...)
  .layer(3)
  .layer(2)
  .layer(1);

中间件顺序是1->2->3

1 共 2 条评论, 1 页