[SPRING] 아무도 나에게 클래스 레벨 컨트롤러와 메소드 레벨 컨트롤러 간의 차이점을 설명 할 수 있습니까?
SPRING아무도 나에게 클래스 레벨 컨트롤러와 메소드 레벨 컨트롤러 간의 차이점을 설명 할 수 있습니까?
나는 봄 프레임 워크에 새로운 .... 구글에서 검색하는 동안. 나는 클래스 수준에서 선언 된 @RequestMapping을 가진 몇 가지 예제를 발견하고 몇 가지 예를 menthod 수준에서 보여 주었다.
언제 클래스 수준의 RequestMapping 및 메서드 수준 RequestMapping 주석을 사용하려면 ... 아무도 나에게 클래스 수준 RequestMapping과 메서드 수준 RequestMapping 사이의 차이를 설명 할 수 있습니까 ??
그래서 나는 그들의 응용에 대해 약간 혼란스러워한다 :
a) 수업 수준
b) 방법 수준
또한 형식으로 일부 @Requestmapping을 발견했습니다 : GET / Post, 일부 예제에는 형식 매개 변수가없는 반면.
어떤 접근 방식이 더 좋습니까?
최신 버전 (> Spring 2.5)에는 요청 매핑을위한 매개 변수 유형이 필요하지 않습니까 ???
해결법
-
==============================
1.컨트롤러는 클래스 수준에서 @Controller로 표시되어야합니다. @RequestMapping 어노테이션은 클래스 및 메소드 레벨 모두에 적용 할 수 있습니다. 일치하는 경우 메서드 주석은 상대 URL로 해석됩니다 (클래스 수준 URL에 상대적 임). 그러나 메소드 레벨 주석이 있어야하며 그렇지 않으면 메소드가 맵핑되지 않습니다.
컨트롤러는 클래스 수준에서 @Controller로 표시되어야합니다. @RequestMapping 어노테이션은 클래스 및 메소드 레벨 모두에 적용 할 수 있습니다. 일치하는 경우 메서드 주석은 상대 URL로 해석됩니다 (클래스 수준 URL에 상대적 임). 그러나 메소드 레벨 주석이 있어야하며 그렇지 않으면 메소드가 맵핑되지 않습니다.
주석에서 매개 변수는 기본값으로 선택적으로 표시 할 수 있습니다. method 매개 변수는 그런 경우입니다. 기본값은 GET이지만 POST 또는 명시 적으로 설정할 수 있습니다.
만나다:
-
==============================
2.마지막 질문에 답하기 위해 어느 것이 더 나은지, 생산에서 우리는이 둘의 조합을 사용한다고 말할 것입니다. 예를 들어 사용자 컨트롤러가있는 경우 클래스를 "/ user"에 매핑하고 getSettings ()에 대한 메소드는 "/ settings"에 매핑하고 getPermissions () 메서드는 "/ permissions"등에 매핑합니다.
마지막 질문에 답하기 위해 어느 것이 더 나은지, 생산에서 우리는이 둘의 조합을 사용한다고 말할 것입니다. 예를 들어 사용자 컨트롤러가있는 경우 클래스를 "/ user"에 매핑하고 getSettings ()에 대한 메소드는 "/ settings"에 매핑하고 getPermissions () 메서드는 "/ permissions"등에 매핑합니다.
이러한 메소드를 "/ user / settings"및 "/ user / permissions"에 직접 매핑하고 클래스 매핑을 건너 뛸 수 있습니다. 그러나 대부분 우리는 첫 번째 방법을 선호합니다.
from https://stackoverflow.com/questions/10425794/can-anybody-explain-me-difference-between-class-level-controller-and-method-leve by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Jersey와 함께 Jackson ObjectMapper 사용하기 (0) | 2019.03.14 |
---|---|
[SPRING] StaleObjectstateException 행이에 의해 업데이트되거나 삭제되었습니다. (0) | 2019.03.14 |
[SPRING] Spring @RequestBody 및 Enum 값 (0) | 2019.03.14 |
[SPRING] 속도의 로더 경로를 올바르게 설정하는 방법 (0) | 2019.03.14 |
[SPRING] 어떻게 thymeleaf를 사용하여 두 가지 객체를 하나의 양식으로 전달할 수 있습니까? (0) | 2019.03.14 |