2016-11-17 4 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:/"; 
     } 

    } 

는 URL : http://localhost:8451/fe/login가 입력 된 로그인을 클릭하면 백엔드 로그에서 항상 오류가 발생합니다. osweb.servlet.PageNotFound : 요청 방법 'POST'가 지원되지 않습니다. 프론트 엔드의 정보 아래와 같이 요청 URL의 정보에서 front-end information

: 로컬 호스트 : 8451/UAA/OAuth를/토큰, 실제로 토큰 서비스가 다른 서버에 의해 제공되기 때문에 액세스 할 수 없습니다 또한 실행할 어느 포트가 8080 인 로컬 머신인지, 그리고 8080을 사용해 서비스에 액세스하려고 시도했는지, 결과는 괜찮습니다. 그래서 저는 이것이이 오류의 원인이라고 생각합니다. 그러나 그것을 고칠 방법이 전혀 없기 때문에 여러분의 도움을 청하기 위해 여기에 문제를 게시합니다. 죄송합니다. 프로젝트/코드에 대한 일반적인 정보를 제공해 드렸습니다. 어떤 코드를 게시해야할지 확실하지 않으므로 다른 정보 나 코드가 필요하면 알려주십시오.

감사

답변

0

@ W.Zhou 컨트롤러는 서버 코드, 즉 Spring에 있어야합니다. 분명히 Spring Boot는 GET 요청에 대해서만 기본 처리기를 생성하기 때문입니다. 그러나 return "forward:/";은 귀하의 경우 POST 메소드를 유지 보수합니다. 당신이 POST로 요청을 전달하려는 경우, 당신은 그것을 위해 컨트롤러를 만들어야합니다

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

또 다른 가능성은 당신이 "/"GET 요청 처리 각도에서 컨트롤러를 가지고있다. 따라서 redirect() 메소드에서 "forward:/" 대신 "redirect:/"을 반환 해 볼 수도 있습니다.

0

redirect 방법은 POST로 http://localhost:8451/로 리디렉션하고 처리 할 수없는 컨트롤러가없는 것 같습니다. @RequestMapping(value = "/") 컨트롤러가 있습니까?

+0

저는 그렇게 생각합니다.하지만 클라이언트는 AngularJS를 통해 만들어졌으며, 컨트롤러에 관해서는 거의 알지 못합니다. 컨트롤러가 어디에 있는지 찾기가 어렵습니다. 컨트롤러가 그러한 구조에 일반적으로 어디에 필요한지 물어볼 수 있습니까? 또한 포트 8080으로 배포 된 uaa 서버 (스프링 부트 응용 프로그램)에 대한 나의 요청은 uaa 응용 프로그램의 * .yml에 요청 매핑이 구성되어 있다고 생각합니까? –