o.s.web.servlet.PageNotFound:不支持请求方法'POST'

时间:2016-11-17 06:37:05

标签: angularjs node.js maven spring-boot gruntjs

我正在部署从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访问服务,结果还可以。所以,我认为,这就是这个错误的原因,但我不知道如何纠正它,所以我在这里发布问题以寻求你的帮助。很抱歉,我刚刚提供了有关项目/代码的一般信息,因为我不确定应该发布哪一段代码,如果您需要其他信息或代码,请告诉我。

由于

2 个答案:

答案 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()