gpt4 book ai didi

java - 在 Vert.x Web 路由器上的不存在路由上提供静态 webroot/index.html 数据

转载 作者:行者123 更新时间:2023-11-29 08:28:10 25 4
gpt4 key购买 nike

场景:

  • 我已将我的静态数据放在 webroot/* 文件夹位置和服务器上根据要求提供这些数据。
  • 我有很多用于路由 API 的路由。

路由器代码:

Router router = Router.router(vertx);
router.route().handler(BodyHandler.create());

router.route("/api/login/account").handler((RoutingContext ctx) -> {
// Handler is here
});
router.route("/api/currentUser").handler(ctx -> {
// Handler is here
});
router.route().handler(StaticHandler.create());
router.route("/*").hanler(StaticHandler.create("webroot/index.html"));

文件夹 webroot 有以下文件:

  • index.css
  • index.html
  • 图片/图片.jpg

问题:

  • 需要在路由不匹配时提供 webroot/index.html 文件(它不工作;返回值**“未找到资源”)**:如果我请求/xyz/的数据abc 然后应该提供 webroot/index.html。
  • 需要根据请求的参数提供其他静态文件(正在工作):如果我请求/index.css 的数据,则应提供 webroot/index.css。
  • 需要响应 API 请求的数据(它正在工作):如果我请求/api/login/account 的数据,那么它应该响应。

我错过了什么地方?解决方案是什么?

最佳答案

你应该添加一个最后的处理程序,当一切都失败时发送你想要的文件。例如:

ctx.response().sendFile('webroot/index.html');

不要忘记添加您可能需要的 header ,例如缓存指令、位置、内容类型...

关于java - 在 Vert.x Web 路由器上的不存在路由上提供静态 webroot/index.html 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50665740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com