Back-end/Spring Boot

[Spring Boot] Request Mapping의 종류, @RequestParam

Bay Im 2024. 3. 31. 14:08
  • 내장 객체별 수명 주기
    • application
      • 웹 브라우저를 닫을 때까지
    • session
      • 로그아웃하기 까지
    • request
      • 요청에 대한 응답하기 까지
    • model
      • request와 동일

 

  • @RequestMapping
    • 호출 경로를 매개변수로 받을 수 있다.
    • GET, POST, PUT, PATCH, DELETE 모두 받을 수 있다.
    • request 객체는 HTTP 요청에 대한 정보를 담고있다.
      • request.getSession().setAttribute("isLogin", "true");
    • 예시
      •  	 // URL : localhost:8080/loginAction1/hong/1234
        		@RequestMapping("loginAction1/{username}/{password}")
            public String loginAction1( @PathVariable("username") String username,
                                        @PathVariable("password") String password,
                                        Model model, Member member){
                model.addAttribute("username", username);
                model.addAttribute("password", password);
                return "loginResult";
            }
  • Request Mapping의 종류
    • HTTP 요청에 대한 경로와 응답 메서드를 정의한다.
    • @GetMapping
      • 사용자의 HTTP GET 요청에 대한 응답 경로와 메서드 정의
      • GET은 SELECT의 기능, 서버에 데이터를 가져와 보여줄 때
        • 캐시가 남아있어 보안적인 측면은 좋지 않지만 전송속도가 빠르다.
        • 파라미터가 url에 노출된다.
    • @PostMapping
      • POST 요청에 대한 응답 경로와 메서드 정의
      • POST는 INSERT의 기능, 서버 값이나 상태를 바꿀 때
        • CREATE, UPDATE, DELETE에 사용되며 캐시가 남아있지 않아 보안적인 측면에서 좋다.
        • Request body에 데이터가 들어가기 때문에 파라미터가 url에 노출되지 않는다.
      • HTML Form 태그 submit은 GET/POST 요청밖에 없다.
      • jQuery의 Ajaxs나 JS의 fetch함수, JS모듈(node모듈)의 axios함수
      • RESTful API로 호출할때 GET/POST/PUT/DELETE 요청이 사용됨. select/insert/update/delete
    • @PutMapping
      • PUT 요청에 대한 응답 경로와 메서드 정의
      • PUT은 자원의 전체 교체
    • @DeleteMapping
      • DELETE 요청에 대한 응답 경로와 메서드 정의
    • @PatchMapping
      • PATCH 요청에 대한 응답 경로와 메서드 정의
      • 업데이트 작업 시 사용
      • PATCH는 자원의 부분 교체
    • @RequestMapping
      • 모든 타입의 요청 처리 가능
        • @RequestMapping(value = "/", method = RequestMethod.GET)
        • @RequestMapping(value = "/", method = RequestMethod.POST)

 

  • @RequestParam
    • 매개변수에서 요청 파라미터를 가져오는 어노테이션 (뷰에서 사용자가 작성한 값을 가져온다)
    • 매개변수에 (@RequestParam 데이터타입 변수명) 작성
    • 예시
      • public String indexParam(@RequestParam String id, @RequestParam String pw) { ... }
728x90