java - Micronaut SPA 控制器
问题描述
这是非常标准的 Spring SPA 控制器。
@Controller
public class SPAController {
@GetMapping("/")
public String home() {
return "forward:/static/index.html";
}
@GetMapping("/**/{[path:[^\\.]*}")
public String html5Mode() {
return "forward:/static/index.html";
}
}
如何在 Micronaut 中做同样的事情?已经有一些关于 SO 的答案,比如这个:
@Get("/{[path:[^\\.]*}")
@Secured(SecurityRule.IS_ANONYMOUS)
@Produces(MediaType.TEXT_HTML)
public HttpResponse<?> refresh(HttpRequest<?> request) {
StreamedFile indexFile = new StreamedFile(res.getResource("classpath:public/index.html").get());
return HttpResponse.ok(indexFile);
}
这是完全错误的。我“不知道”index.html
文件位置,我只知道它的 URL。
解决方案
我不知道在什么情况下您不知道索引文件在哪里,但是您可以使用 Micronaut http 客户端向任何为其提供服务的 URL 发出请求并返回该响应正文。
推荐阅读
- python-3.x - 如何修复“For循环”,因为令牌索引不增加
- asp.net - 为什么 SerializeTicket() 返回具有资源允许客户端的所有范围的令牌
- c - 如何在 arduino 中创建嵌套对象 JSON
- php - 作曲家中的私人存储库
- c# - 在类似于 GDI - Arc() 方法的 WPF 应用程序中绘制 Arc 很热?
- ruby-on-rails - 如何在 ruby on rails 中的多个模型上实现星级评分系统?
- php - 在 PHP 中将 XML 转换为数组以调用 Soap API
- plsql - PL/SQL 查询以获取子查询中两列的总和
- java - 如何在我的 SnakeGame 中在没有被蛇或障碍占据的场地上生成食物?
- java - 从 SQLite 数据库添加和检索图像