如何自定义Spring Webflux错误页面

时间:2018-10-19 20:11:17

标签: spring-webflux

当我尝试在spring initializr上创建演示项目并选择spring-boot-starter-webflux时,我一生无法自定义错误页面。我尝试将模板放在/ resources / public / error,/ resources / templates / error(我正在使用Thymeleaf)下,定义了一个自定义ErrorController无效。例如,每次我想抛出404页面时,应用程序都会抛出WhiteLabel页面。但是,当我将依赖关系更改为spring-boot-starter-web时,它将立即选择我的模板。

还有其他方法来声明错误页面吗?或者这仅仅是一个错误(当前使用Spring Boot 2.1.0.RC1,但在2.1.0.M4中也会发生同样的事情)?

我的依赖项如下:

    <dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>de.flapdoodle.embed</groupId>
        <artifactId>de.flapdoodle.embed.mongo</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

1 个答案:

答案 0 :(得分:0)

已解决。我必须将Spring Boot版本更改为2.0.5.RELEASE,因为2.0.6.RELEASE表现出相同的行为。