Back-end/Spring Boot
[Spring Boot] Request Mapping의 종류, @RequestParam
Bay Im
2024. 3. 31. 14:08
- 내장 객체별 수명 주기
- application
- 웹 브라우저를 닫을 때까지
- session
- 로그아웃하기 까지
- request
- 요청에 대한 응답하기 까지
- model
- request와 동일
- application
- @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