[스프링(spring)] @PathVariable 과@RequestParam

allnight5·2023년 1월 4일
0

스프링

목록 보기
21/62

@ResponseBody
Header랑 body가 있는 JSON형태가 있는데 BODY담아서 보내기 때문에
ResponseBody바디를 쓴다.

param은 페이지 및 검색정보를 한꺼번에 전달한다.

공통점은 URI을 통해서 정보를 보낸다.

차이점
vaild는 key를전달하는데
param의 경우 값을 전달한다.

@PathVariable 같은 경우 localhost:8080/{id}/comment/{postId}/ment
{id}와 {postId}같이 /안에 하나의 값을 넣을수있다
@RequestParam
localhost:8080/postpage?irectoryNo=0¤tPage=8&groupId=0
하나의 / 뒤에 여러값을 넣을수있다.
@PostMapping이나 @GetMapping을 사용하는이유

1.코드가 줄어든다

@RequestMapping(value = "/api/user", method = RequestMethod.GET)
		  ↓	  ↓	  ↓
		@RequestMapping("/api")
		@GetMapping(“/user”)

2.Url중복 사용가능(Post만 써도 되는데 어째서 Post와 Get, Delete를 쓰느냐?)
(Post,와 Post면 중복이 되지않지만get의 경우 post와 중복Url사용이 가능하다)
2-1 써야되는이유 오류) 1. @PostMapping("/api/user") 2.@PostMapping("/api/user")
1번과 2번의 URI중복으로 오류가난다 그이유는 무슨 메소드를 선택해야할지 모르기 때문
2-2 써야되는이유 정답) 1. @PostMapping("/api/user") 2. @GetMapping("/api/user")
어노테이션이 Get과 Post로 다르기 때문에 호출도 달라서 URI가 같아도 구분을 할 수 있다.

3.코드에 의미를 명시
Get이 앞에 붙은Mapping이라면 화면을 뿌릴 때 사용하겠다. Post가 붙은 Mapping이라면 전송데이터를 insert할때등 바로 의미를 이해할 수 있다.

@PathVariable
한페이지를 보여주는것다른말로는 그 페이지내에서 다른페이지로 이동할 때 사용한다.

@RequestParam
@Get으로 Get으로 그 페이지내에서 자세하게 들어갈때 쓰는것이
param으로 get은 두가지를 혼용한다.페이지까지는pathVarialbe로갔다가 그 페이지내에서 페이징이나. 테그 데이터를 param을 통해서 데이터를 가져온다.
한페이지내에서 페이지 내에서 내용을 검색해서 들어가는 것이다.
페이지는 그대로 이지만 그안에 내용이 변경될 때
(검색, 필터를 통하여 게시글을 20개씩 본다거나 40개씩 본다거나, 원하는 검색내용만 본다거나, 원하는 카테코리의 내용만 본다거나 라는등을 할 때 사용한다. 만약 페이지 이동과 동시에 검색내용이 나오는것이라면 PathVariable 과 RequestParam을 같이 써줘야한다.)

profile
공부기록하기

0개의 댓글