2016-11-17 140 views
0

我部署从GitHub下载了一个项目,一切都做了,和主服务器类是:osweb.servlet.PageNotFound:请求方法“POST”不支持

@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:/"; 
     } 

    } 

网址:http://localhost:8451/fe/login被输入然后单击“登录”,但我总是从后端日志中获取错误:osweb.servlet.PageNotFound:不支持请求方法“POST”。 如下所示前端的信息:front-end information

从请求URL的信息:本地主机:8451/UAA /的OAuth /令牌,实际上由于令牌服务是由另一服务器提供它不能被访问也运行在本地机器的哪个端口是8080,并且我试图用8080访问该服务,结果是OK。所以,我认为,这是这个错误的原因,但我不知道如何纠正它,所以我在这里发布问题来寻求你的帮助。对不起,我刚刚提供了有关项目/代码的一般信息,因为我不确定应该发布哪一段代码,如果您需要其他信息或代码,请告诉我。

感谢

回答

0

@ W.Zhou控制器应该在你的服务器代码中,即在Spring中,因为显然Spring Boot为GET请求创建了一个默认处理程序。但是,return "forward:/";维护您的情况下的POST方法。所以,如果你想将请求转发为POST,你需要为它创建一个控制器:

@RequestMapping(value = "/", method = RequestMethod.POST) public String redirect2() { return "viewName"; }

另一种可能性是,你有角控制器,该控制器处理“/” GET请求。因此,您也可以在redirect()方法中尝试返回"redirect:/"而不是"forward:/"

0

它看起来像redirect方法重定向到http://localhost:8451/与POST和没有可用来处理它的控制器。你有一个@RequestMapping(value = "/")的控制器吗?

+0

我认为是这样,但客户端是通过AngularJS构建的,我对此知之甚少,而且我很难找到控制器在哪里。我可以问一下这种结构的控制器在哪里吗?另外,我的要求是访问使用端口8080部署的uaa服务器(spring引导应用程序),您认为请求映射将在uaa应用程序的* .yml中配置 –

相关问题