如何将重写规则添加到 Spring Boot 2.3.1
Posted
技术标签:
【中文标题】如何将重写规则添加到 Spring Boot 2.3.1【英文标题】:How to add rewrite rule to spring boot 2.3.1 【发布时间】:2020-11-21 02:28:32 【问题描述】:我有一个基于 this example 的 Spring Boot 应用程序。
现在的问题是如何在我的应用程序中添加重写规则,当用户访问根 URL 时添加 /index.html
。
我的意思是当用户访问http://localhost:8080/my-app
或http://localhost:8080/my-app/
时,我会将他或她重定向到http://localhost:8080/my-app/index.html
。
我找到了 here 的东西,但不幸的是对我不起作用,而且似乎 org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
在 Spring Boot 2.3.1 中不再存在。
【问题讨论】:
https://***.com/questions/29085295/spring-mvc-restcontroller-and-redirect 为@RestController
重定向提供了一些选项(标题具有误导性)
您可以在***.com/questions/7976173/…使用解决方案
@DoNhuVy:我测试过了,不幸的是它没有在url中注入index.html
。
我认为 Spring Boot,Spring MVC 可以返回这样的 URL http://localhost:8080/foo/bar
,而不是 http://localhost:8080/foo/bar.html
,因此没有必要。
【参考方案1】:
我只需要添加一个新的控制器,尽管这个应用程序不使用MVC,这个控制器会将/
请求重定向到/index.html
。
package me.cimply.ask.odata.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class AppController
@GetMapping("/")
public String index()
return "redirect:index.html";
【讨论】:
以上是关于如何将重写规则添加到 Spring Boot 2.3.1的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Thymeleaf SpringSecurityDialect 添加到 Spring Boot
如何将布局方言添加到spring-boot thymeleaf自动配置文件