1. GetMapping
@GetMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나이다. 이 어노테이션은 HTTP GET 요청을 처리하기 위해 컨트롤러 메서드에 적용된다. @GetMapping은 해당 요청 경로에 대한 처리를 담당하는 메서드를 정의하는 데 사용된다. 예를 들어, 아래와 같은 코드를 통해 @GetMapping을 사용할 수 있다.
@GetMapping("/users")
public List<User> getAllUsers() {
// 사용자 목록을 조회하는 로직
return userService.getAllUsers();
}
위의 예제에서는 "/users" 경로로 들어오는 HTTP GET 요청을 처리하는 getAllUsers() 메서드가 GetMapping 어노테이션으로 표시되어 있다. 이 메서드는 사용자 목록을 조회하고 그 결과를 반환한다.
2. PostMapping
@PostMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나로, HTTP POST 요청을 처리하기 위해 컨트롤러 메서드에 적용된다. @PostMapping은 해당 요청 경로에 대한 처리를 담당하는 메서드를 정의하는 데 사용된다. 예를 들어, 아래와 같은 코드를 통해 @PostMapping을 사용할 수 있다.
@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
// 사용자 생성 로직
User createdUser = userService.createUser(user);
return ResponseEntity.ok(createdUser);
}
위의 예제에서는 "/users" 경로로 들어오는 HTTP POST 요청을 처리하는 createUser() 메서드가 PostMapping 어노테이션으로 표시되어 있다. 이 메서드는 요청 본문에 포함된 사용자 정보를 이용하여 사용자를 생성하고, 생성된 사용자를 반환한다.
3. Redirect와 Forward의 차이
스프링에서는 redirect와 forward 두 가지 방식으로 페이지 이동을 구현할 수 있다.
- Redirect: Redirect는 클라이언트의 요청을 완전히 새로운 URL로 보내는 방식이다. 클라이언트는 첫 번째 요청에 대한 응답을 받은 후에, 서버로부터 받은 새로운 URL로 다시 요청을 보내게 된다. 이는 서버 측에서 클라이언트에게 새로운 URL로 이동하라는 명령을 내리는 것과 같다. 주로 페이지 이동, URL 변경, 요청 파라미터 전달 등에 사용된다. Redirect로 처리되면 URL이 변경되어있다.
- Forward: Forward는 서버 내에서 클라이언트의 요청을 다른 자원(서블릿이나 JSP 등)으로 전달하는 방식이다. 클라이언트는 전달된 자원에 대한 URL을 알지 못하고, 서버 내부에서 처리된 결과를 받게 된다. Forward는 웹 애플리케이션 내에서의 페이지 이동이나 데이터 공유 등에 사용된다. 클라이언트 입장에서는 실제로는 다른 URL로 이동한 것처럼 보이지 않고, 서버 내부에서만 이루어진 것처럼 보인다. 따라서 Foward처리 후 URL은 변경되지 않는다.
'웹개발' 카테고리의 다른 글
세션(Session) (0) | 2023.05.24 |
---|---|
쿠키(Cookie) (0) | 2023.05.24 |
@RequestsParam, @ModelAttribute (0) | 2023.05.20 |
서블릿과 JSP (1) | 2023.05.19 |
MVC패턴 예제 (0) | 2023.05.17 |