2018년 7월 17일 화요일

Spring에서의 @RequestMapping 어노테이션에 대한 간단 정리






Spring에서의 @RequestMapping 어노테이션에 대한 간단 정리

-. @RequestMapping 어노테이션은 Spring 웹 애플리케이션에서 가장 자주 사용되는 annotation이다.
-. @RequestMapping은 http request로 들어오는 url을 특정 controller 클래스나 메소드로 연결시키는 역할을 한다.
-. @RequestMapping은 controller에 있어서 class에 적용할수도 있고 특정 method에 적용할수도 있다.

아래의 예를 통해서 확인해 보자.

@Controller
@RequestMapping("/home")
public class TestController 
{
     //아래 @RequestMapping은 
     //hostname:port/home/에 대한 http request url에 대응하는 역할
    @RequestMapping("/")
    String getName(){
        return "Hello from getName() method";
    }

     //아래 @RequestMapping은 
     //hostname:port/home/info/에 대한 http request url에 대응하는 역할
    @RequestMapping("/info")
    String showInfo(){
        return "Hello from showInfo() method";
    }
}

-. http://localhost:8080/home/은 getName()을 호출하게 된다.
-. http://localhost:8080/home/info은 showInfo()을 호출하게 된다.

아래와 같이 @RequestMapping을 이용해서 특정한 method에 Multiple URI를 적용할수도 있다. 

@Controller
@RequestMapping("/home")
public class TestController 
{
    @RequestMapping(value={"", "/info", "info*","view/*,**/msg"})
    String myMultiMapping(){
        return "Hello from myMultiMapping()";
    }
}

위와 같이 @RequestMapping은 와일드 카드(wildcards)도 사용할수 있다. 
위의 코드에서 아래의 모든 URL들은 myMultiMapping() 메소드로 연결될 것이다.

localhost:8080/home
localhost:8080/home/
localhost:8080/home/info
localhost:8080/home/infosub
localhost:8080/home/view/
localhost:8080/home/view/view

댓글 없음:

댓글 쓰기