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



+ Recent posts