需要基础知识的帮助-我已经集成了Angular和Spring Boot。我制作了Angular应用程序的生产版本,并将6个文件复制到Spring boot静态资源文件夹中。
默认情况下,当我点击localhost:8080时,index.html呈现为Spring boot自动将其注册为欢迎页面。
现在,当我处于angular状态时,我可以通过ANGULAR ROUTER导航到其他组件,并且URL也在更改。
但是,当我复制相同的URL例如-localhost:8080 / myTask并将其输入到URL地址栏中时,会抛出404资源未找到的情况。因为它首先命中了Spring控制器,并且由于没有映射,所以它失败了。
在您在Spring Boot中扩展了WebMvcConfigurerAdapter的类中,在addViewControllers方法内部,您应该执行以下操作
@Override public void addViewControllers(final ViewControllerRegistry registry) { super.addViewControllers(registry); registry.addViewController("/myTask").setViewName("forward:/"); }
对于转发,所有请求,您都可以做 registry.addViewController("/**").setViewName("forward:/");
registry.addViewController("/**").setViewName("forward:/");
更新 感谢乔纳斯的建议。由于Spring 5.0中不推荐使用WebMvcConfigurerAdapter,因此可以通过扩展WebMvcConfigurer来实现上述逻辑