반응형
결론부터 말하면 @RequestMapping은 URL의 공통적으로 사용할 부분을 작성할 때 사용합니다
@RequestMapping은 처음에는 value와 method를 통해 요청을 받고 그것을 처리하는데 사용되었습니다.
@RequestMapping(value = "/test", method = RequestMehod.GET)
이렇게 작성하면 /test로 보내온 GET 요청에 대한 응답을 보내는 메서드를 작성하는 것입니다.
그렇지만 GET 외에도 POST, PUT, DELETE 등의 메서드가 있기 때문에 그것에 대한 응답을 주기 위해서는 method 부분을 변경해야했습니다.
@RestController
public class Controller{
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String testGet(){
// 메서드 내용
}
@RequestMapping(value = "/test", method = RequestMethod.POST)
public String testPost(){
// 메서드 내용
}
@RequestMapping(value = "/test", method = RequestMethod.PUT)
public String testPut(){
// 메서드 내용
}
@RequestMapping(value = "/test", method = RequestMethod.DELETE)
public String testDelete(){
// 메서드 내용
}
}
그러나 전부 @RequestMapping으로 만들었더니 가독성이 상당히 떨어져보입니다.
그래서 조금 더 가독성 좋게 만들 수 있도록 다른 방식을 사용하게 되었습니다.
@RestController
@RequestMapping(value = "/test")
public calss Controller{
@GetMapping("/testGet")
public String testGet(){
//메서드 내용
}
@PostMapping("/testPost")
public String testPost(){
//메서드 내용
}
@PutMapping("/testPut")
public String testPut(){
//메서드 내용
}
@DeleteMapping("/testDelete")
public String testDelete(){
//메서드 내용
}
}
위와 같이 클래스에 @RequestMapping을 사용하여 /test라는 공통 URL을 가지게 한 이후에 그 안에 있는 메서드 별로 다른 URL과 메서드에 따른 어노테이션을 사용하게 했습니다.
예를 들어 이제는 testGet() 메서드에 접근하기 위해서는 /test/testGet 이라는 URL을 사용해야 합니다.
반응형
'방구석 컴퓨터 > 방구석 스프링' 카테고리의 다른 글
스프링 시큐리티 Basic Auth (0) | 2023.12.07 |
---|---|
스프링 시큐리티와 JPA를 활용한 Basic Auth (0) | 2023.12.06 |
Lombok (0) | 2023.08.17 |
DAO, DTO, VO (0) | 2023.08.16 |
스프링 빈(Spring Bean) (0) | 2023.08.16 |