2017-10-26 2 views
0

편집 : 질문을 자세히 읽으십시오. 필자가 반복 한 대답은 필요하지 않습니다.스프링 MVC (Spring Boot) - 요청 매핑 상속

웹을 살펴보면이 주제에 대해 상당히 혼란 스러웠습니다. 내가 찾고있는 것은 ControllerRequestMapping 주석의 가치를 확장하는 좋은 방법입니다.

등 :

@Controller 
@RequestMapping("/api") 
public class ApiController {} 

@Controller 
@RequestMapping("/dashboard") 
public class DashboardApiController extends ApiController {} 

결과 ("/api/dashboard")이어야한다.

이 방법은 분명히 RequestMapping 값보다 우선합니다. 작동 방식은 이 아니며은 파생 클래스에 RequestMapping 주석을 추가 할 수 있습니다.

@Controller 
public class DashboardApiController extends ApiController 
{ 
    @GetMapping("/dashboard") 
    public String dashboardHome() { 
     return "dashboard"; 
    } 

    ... other methods prefixed with "/dashboard" 
} 

이 방법이 유일한 방법입니까? 나는 그것을 정말로 좋아하지 않는다.

+0

이 질문은 이미 [스프링 MVC의 ... https://stackoverflow.com/q/5268643/2736849 –

+2

가능한 중복 존재 @ RequestMapping 상속] (https://stackoverflow.com/questions/5268643/spring-mvc-requestmapping-inheritance) – g00glen00b

+0

@MuhammadFaisalHyder 알고 있습니다. 우리는 Spring MVC와 Spring Boot의 새로운 릴리즈를 갖게되었지만, 문서화는 항상 과거와 마찬가지로 약간 매력적이다. 또한 누군가가이 문제를 해결하기 위해 좋은 트릭을 제안했을 수도 있습니다. – LppEdd

답변

0

값은 서브 클래스에서 대체되고 추가되지 않습니다. 하위 클래스에서 전체 경로를 지정해야합니다.

0

당신은 당신이 시도하고있는 무슨 달성 할 수있다이 경우

@Controller 
@RequestMapping("/api") 
public class DashboardApiController extends WhateverClassWithWhateverMapping 
{ 
    @RequestMapping("/dashboard") 
    public String dashboardHome() { 
     return "dashboard"; 
    } 

} 

를 추가하여이 "/ API/대시 보드"입니다. 서브 클래스에 동일한 매개 변수 재정에 대한

값, 그들은 축적하지 않는