controller requestmapping 예제

@RequestMapping 어구는 웹 요청을 처리기 클래스(예: 컨트롤러) 또는 처리기 메서드에 매핑하는 데 사용되며 메서드 수준 또는 클래스 수준에서 사용할 수 있습니다. 개발자가 클래스 수준에서 @RequestMapping 개의 추가를 사용하는 경우 메서드 수준 경로에 대한 상대 경로가 됩니다. 예제의 도움으로 이 것을 이해해 보겠습니다: URI 템플릿 “/소유자/{ownerId}”는 변수 이름 ownerId를 지정합니다. 컨트롤러가 이 요청을 처리하면 ownerId 값이 요청 URI의 값으로 설정됩니다. 예를 들어 /owner/fred에 대한 요청이 들어오면 fred 값은 메서드 매개 변수 String ownerId에 바인딩됩니다. URI 템플릿은 하나 이상의 변수 이름을 포함하는 URI와 같은 문자열입니다. 이러한 변수에 대한 값을 대체하면 템플릿이 URI가 됩니다. URI 템플릿에 대해 제안된 RFC는 URI가 매개 변수화되는 방법을 정의합니다. 예를 들어 URI 템플릿 @ResponseBody @RequestBody 유사합니다. 이 부작은 메서드에 배치할 수 있으며 반환 형식을 HTTP 응답 본문에 바로 작성해야 하며 모델에 배치되거나 뷰 이름으로 해석되지 않음을 나타냅니다.

예를 들어 @Controller 이 클래스를 스프링 컨트롤러로 지정하는 데 사용되는 간단한 클래스이고 @RequestMapping 개의 추가는 다른 메서드 수준 매핑을 지정합니다. 다음 코드 추가: 컨트롤러 클래스에서 기본 URI에 대한 요청이 있을 때 실행되는 기본 처리기 메서드를 사용할 수 있습니다. 단일 @RequestMapping 경로 값은 일반적으로 단일 컨트롤러 메서드에 사용되지만 이는 하드 및 빠른 규칙이 아니라 동일한 메서드에 여러 요청을 매핑해야 하는 경우에 적합합니다. 이 경우 @RequestMapping 값 특성은 단일 매핑이 아니라 여러 매핑을 허용합니다. 예를 들어 @RequestMapping(“/foo”)는 @RequestMapping(path=”/foo”)와 동일합니다. @RequestMapping 추가를 사용하여 /appointment과 같은 URL을 전체 클래스 또는 특정 처리기 메서드에 매핑합니다. 일반적으로 클래스 수준 주석은 특정 HTTP 메서드 요청 방법(“GET”/”POST”) 또는 특정 HTTP 요청에 대한 기본 매핑을 좁히는 추가 메서드 수준 주석을 사용하여 특정 요청 경로(또는 경로 패턴)를 양식 컨트롤러에 매핑합니다. 매개 변수.

좋은 요약. 좀 더 나은 것을 만들기 위해 누락 된 유일한 것은 객체의 처리를 입력 (예 : POST)과 응답으로 표시하는 것입니다. 물론 이것은 아마 잭슨 이나 다른 OJM/OXM 토론을 끝낼 것 이다. URI 템플릿 외에도 @RequestMapping 어노팅은 개미 스타일 경로 패턴(예: /myPath/*.do)도 지원합니다.