Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[Spring/스프링] - @RequestMapping, @GetMapping, @PostMapping 본문

Study/Spring

[Spring/스프링] - @RequestMapping, @GetMapping, @PostMapping

luke-king 2024. 2. 28. 16:41

 

 

 

@GetMapping

GET 방식은 어떠한 정보를 가져와서 조회하기 위해 사용되는 방식이다.

  • URL에 변수를 포함시켜 요청한다.
  • 데이터를 header를 포함하여 전송한다.
  • URL에 데이터가 노출되어 보안에 취약하다.
  • 캐싱이 가능하다. (캐싱 : 한번 접근후, 똑같은 요청을 할 시 빠르게 접근하기 위해 레지스터에 데이터를 저장시키는 것)

<게시판 만들기에서의 @GetMapping>

  @GetMapping("/save") // 주소. (게시글 작성 화면을 띄우기 위한 메서드)
    public String save() {
        return "save"; // return 할 화면 이름
    }

 

@PostMapping

POST 방식은 데이터를 서버로 제출하여 추가 또는 수장하기 위해서 데이터를 전송하는 방식이다.

  • URL에 변수에 변수를 노출하지 않고 요청한다.
  • 데이터를 Body에 포함시킨다.
  • URL에 데이터가 노출되지 않아서 기본 보안이 설정되어 있다.
  • 전송하는데 길이 제한이 없고 캐싱이 불가능하다.

 

<게시판 만들기에서의 @PostMapping>

    @PostMapping("/save")
    public String save(BoardDTO boardDto) throws IOException {
        log.info("boardDto = " + boardDto);
        boardService.save(boardDto);
        return "redirect:/list";
    }

 

 

@RequestMapping

@RequestMapping은 요청 정보를 매핑하고 해당 URL이 호출되면 이 메서드가 호출된다. 어노테이션을 기반으로 동작하기 때문에, 메서드의 이름은 임의로 지으면 된다.

@Controller
public class SpringMemberFormControllerV1 {

     @RequestMapping("/members/new-form")
     public ModelAndView process() {
         return new ModelAndView("new-form");
     }
}

 

 

@RequestMapping -> @GetMapping, @PostMapping

 

@RequestMapping은 URL만 매칭하는 것이 아니라, HTTP Method도 함께 구분할 수 있다.

예를들어 URL이 /new-form 이고, HTTP Method가 GET인 경우를 모두 만족하는 매핑을 하려면 다음과 같이 처리하면 된다.

@RequestMapping(value = "/new-form", method = RequestMethod.GET)

'Study > Spring' 카테고리의 다른 글

[Spring/스프링] - @RequestParam  (0) 2024.04.06
[Spring/스프링] @Controller  (0) 2024.02.19
[Spring/스프링] @PathVariable  (0) 2023.12.28
[Spring/스프링] @RequiredArgsConstructor (lombok)  (0) 2023.12.11