1. 程式人生 > >spring boot支援vue history mode(即增加對404的處理)

spring boot支援vue history mode(即增加對404的處理)

原本的問題是這樣的,用大前端(Vue全家桶),靜態檔案直接放在Spring Boot的static資料夾裡,啟動後,假設訪問http://localhost/page1/page1_1,如果直接點瀏覽器重新整理按鈕,會出現404,為了解決這種問題,Vue的官方文件有介紹解決方案。參考HTML5 History 模式
在這裡插入圖片描述
可惜的是,文件下面沒有給出Java做伺服器的情況下如何做。
那麼,在Spring Boot做後端的情況下,怎麼解決呢?這裡參考 vue-router路由使用 history 模式時,後端SpringBoot如何配置
加一個配置類

import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.context.embedded.ErrorPage;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;

@Configuration
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return container -> {
            ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
            container.addErrorPages(error404Page);
        };
    }
}