2017-10-10 4 views
2

휴식 API를 구현하려고하는데 코드가 정확하고 간단하지만이 오류가 발생하며 문제를 파악할 수 없습니다. enter image description here봄 휴식 요청 방법 'GET'이 지원되지 않습니다.

로그 출력은 다음과 같습니다. 49 :

2017년 10월 10일 14 40.946은 5750 WARN --- [NIO-8080 간부 -4-] osweb.servlet.PageNotFound : 요청 방법이 지원되지 않음 'GET'

 @RestController("/report") 
    @CrossOrigin(origins = { "http://localhost:4200" }) 
    public class JasperController { 

     @RequestMapping(value = "/allReports", method = { RequestMethod.GET }, produces = "application/json") 
     public String allReport() { 
         return "allReports!!!"; 
        } 

     @RequestMapping(value = "/supportedFields", method = { RequestMethod.GET }, produces = "application/json") 
     public List<String> supportedFields() { 
         return Arrays.asList("name", "age", "address", "code", "contract"); 
     } 

    } 
+0

허용되는 출처는 "http : // localhost : 4200"이고 "http : // localhost : 8080"에서 호출하는 브라우저입니다. 포트가 일치하지 않으므로 원본이 허용되지 않습니다. – Leffchik

+0

동일한 오류가 계속 발생합니다. 문제가 허용 된 출처로 생각하지 않습니다. –

+0

이상한 .. R 컨트롤러 패키지가 실제로 Spring에 의해 스캔되고 있는지 확인 하시겠습니까? – Leffchik

답변

2

아주 간단합니다. @RestController의 값은이 값의 매핑이 아닙니다. 내가 많이 만든 실수입니다. 컨트롤러의 모든 메서드에 대해 최상위 매핑을 원할 경우 컨트롤러 클래스 위에 @RequestMapping으로 선언하십시오.

값은 에, 논리적 구성 요소 이름에 대한 제안을 나타낼 수 있습니다 자동으로 감지 된 구성 요소의 경우에 스프링 빈으로 전환 될 : 여기

@RestController 
@RequestMapping("/report") 
public class JasperController { 

@RestController@Controllervalue은 무엇인가 .

관련 문제