我正在部署从GitHub下载的项目,一切都已完成,服务器的主要类是:
@SpringBootApplication
@Controller
@EnableDiscoveryClient
public class AdminUIApplication {
public static void main(String[] args) {
SpringApplication.run(AdminUIApplication.class, args);
}
@RequestMapping(value = "/fe/**")
public String redirect() {
return "forward:/";
}
}
URL:http://localhost:8451/fe/login已输入,然后单击LOGIN IN,但我总是从后端日志中收到错误:o.s.web.servlet.PageNotFound:不支持请求方法'POST'。 前端信息如下所示:front-end information
从请求URL的信息:localhost:8451 / uaa / oauth / token,实际上它无法访问,因为令牌服务是由另一台服务器提供的,也是在本地机器上运行的端口是8080,我试过8080访问服务,结果还可以。所以,我认为,这就是这个错误的原因,但我不知道如何纠正它,所以我在这里发布问题以寻求你的帮助。很抱歉,我刚刚提供了有关项目/代码的一般信息,因为我不确定应该发布哪一段代码,如果您需要其他信息或代码,请告诉我。
由于
答案 0 :(得分:0)
看起来redirect
方法使用POST重定向到http://localhost:8451/
,并且没有可用的控制器来处理它。你有一个@RequestMapping(value = "/")
的控制器吗?
答案 1 :(得分:0)
@ W.Zhou控制器应该在你的服务器代码中,即在Spring中,因为很明显Spring Boot只为GET请求创建一个默认处理程序。但是,return "forward:/";
在您的情况下维护POST方法。因此,如果要将请求转发为POST,则需要为其创建控制器:
@RequestMapping(value = "/", method = RequestMethod.POST)
public String redirect2() {
return "viewName";
}
另一种可能性是你在Angular中有一个控制器来处理" /" GET请求。因此,您也可以尝试在"redirect:/"
方法中返回"forward:/"
而不是redirect()
。