Rob*_*ham 7 spring-mvc single-page-application reactjs spring-boot react-router
我正在使用带有此配置的Spring Boot 2.1.0使用create-react-app和react-router制作SPA
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/**/{path:[^\\.]+}")
.setViewName("forward:/");
}
}
Run Code Online (Sandbox Code Playgroud)
基本上它的作用始终是index.html,除非路径中有一段时间.我想将其与create-react-app提供的一致.htaccess.如何使Spring Boot与此功能相匹配?
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
Run Code Online (Sandbox Code Playgroud)
要将“404:找不到文件”重新路由到“forward:/”(我认为这就是 .htaccess 的作用),请将您的 WebMvcConfiguration 更改为...
@Configuration
public class WebMvcConfiguration implements ErrorViewResolver
{
@Override
public ModelAndView resolveErrorView(HttpServletRequest request, HttpStatus status, Map<String, Object> model) {
if (status == HttpStatus.NOT_FOUND) {
return new ModelAndView("forward:/");
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |