我正在使用spring boot + restful WS + angular2。修剪我的网址就像http://localhost:8080/accountSummary/someparameter
当我运行此操作时,我在浏览器中收到以下错误
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Jun 30 16:24:03 EDT 2016
There was an unexpected error (type=Internal Server Error, status=500).
Circular view path [index.html]: would dispatch back to the current handler URL [/accountSummary/index.html] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
我在app文件夹下的spring boot conf文件中使用了以下配置:
@Controller
@Configuration
public class WebController extends WebMvcConfigurerAdapter{
// first option I have tried
/*public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/accountSummary/**").setViewName("index.html");
}*/
//我试过的第二个选项
/* @RequestMapping(value = "/{[accountSummary:[^\\.]*}")
public String redirect() {
return "forward:/index.html";
}*/
我试过的第三个选项
@RequestMapping(value={"/accountSummary/{*}"}, produces="text/html")
public String getIndex(Model model, HttpServletRequest request){
return "index.html";
}
}
目前这对我来说是个噱头。我正在使用纯弹簧启动结构,就像我将所有Web应用程序内容移动到目标文件夹下的静态文件夹中。
答案 0 :(得分:0)
您一直走在正确的道路上,但使用了错误的前缀。如果您要发送重定向,则应使用redirect:
作为前缀,而不是forward:
。
答案 1 :(得分:0)
使用Angular2修复了它。我保留了{provide:LocationStrategy,useClass:HashLocationStrategy}。如果您提供localhost:8080 /#/ - 如果您提供参数,它将重定向到带有参数的pagename。
感谢所有人的帮助。
答案 2 :(得分:-1)
@RestController
在控制器中添加此注释
@RequestMapping(value = "/accountSummary/someparameter", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
根据您的方法在方法级别和更改上添加此内容。