RequestMapping

임정호·2022년 1월 14일
0

Spring공부

목록 보기
3/10

@Controller -> URL을 통해 연결할 수 있는 프로그램 등록
@RequestMapping -> URL과 메서드를 연결

@Controller
public class Hello{
	@RequestMapping("/hello")
	public void main(){
    	//todo
    }

}

/프로젝트이름/hello의 URL과 Hello클래스의 main 메서드를 연결할 수 있음.

단순히 RequestMapping으로 선언하면, GET과 POST 메서드로 해당 URL에 연결할 수 있다.
그런데 GET방식으로 request를 보내면, URL에 데이터가 노출될 수 있기 때문에 POST 방식으로만 request를 보내야 하는 경우가 있고, 서버가 매크로에 취약해질 수 있기 때문에 보내는 메서드를 제한해야하는 경우가 있다 .

GetMapping과 PostMapping을 사용하여 메서드를 제한할 수 있다.

@Controller
@RequestMapping("/hello")
public class Hello{
    @GetMapping("/hello")
	public void hello1(){
    	//todo
    }
    @PostMapping("/hello")
    public void hello2(){
    	//todo
    }
}

위 예시는 hello1()과 hello2()가 맵핑된 URL이 같은데, 원래는 충돌이 나지만, 보내는 메서드가 다르면 상관없다. 클래스에도 RequestMapping을 할 수 있는데, 위 처럼 선언하면, /hello/hello로 접근해야 한다.

혹은 servlet-context.xml에 view-controller로 등록할 수 있다. (GET만 허용)

<view-controller path="/hello" view-name="hello" />
	

0개의 댓글