小编典典

Spring Boot-Angular-在地址栏中输入网址会导致404

spring-boot

需要基础知识的帮助-我已经集成了Angular和Spring Boot。我制作了Angular应用程序的生产版本,并将6个文件复制到Spring
boot静态资源文件夹中。

默认情况下,当我点击localhost:8080时,index.html呈现为Spring boot自动将其注册为欢迎页面。

现在,当我处于angular状态时,我可以通过ANGULAR ROUTER导航到其他组件,并且URL也在更改。

但是,当我复制相同的URL例如-localhost:8080 /
myTask并将其输入到URL地址栏中时,会抛出404资源未找到的情况。因为它首先命中了Spring控制器,并且由于没有映射,所以它失败了。


阅读 422

收藏
2020-05-30

共1个答案

小编典典

在您在Spring Boot中扩展了WebMvcConfigurerAdapter的类中,在addViewControllers方法内部,您应该执行以下操作

@Override
    public void addViewControllers(final ViewControllerRegistry registry) {
        super.addViewControllers(registry);
      registry.addViewController("/myTask").setViewName("forward:/");
 }

对于转发,所有请求,您都可以做 registry.addViewController("/**").setViewName("forward:/");

更新 感谢乔纳斯的建议。由于Spring
5.0中不推荐使用WebMvcConfigurerAdapter,因此可以通过扩展WebMvcConfigurer来实现上述逻辑

2020-05-30