2016-11-17 116 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中配置 –

相關問題