-
@RequestParam과 @PathVariable, @RequestBody의 차이SOLUX-완숙이 2022. 1. 4. 13:42
이 어노테이션들은 controller에서 프론트로부터 파라미터를 전달받을 때 사용하는 어노테이션들이다.
1. @RequestParam
@GetMapping("club") public ClubResponseDto findById(@RequestParam(value = "id") Long id) { return clubService.findById(id); }
api 요청 시에 URI에 http://localhost:8080/club?id=2 이렇게 queryString 방식으로 넣어주는 것이다.
@RequestParam(value = "id" , required=false) 이렇게 쓰면 id값을 넣어주지 않아도 오류가 발생하지 않는다.
2. @PathVariable
@GetMapping("/api/udong/club/{id}") public ClubResponseDto findById(@PathVariable Long id) { return clubService.findById(id); }
이처럼 api 요청 시에 URI에 http://localhost:8080/api/udong/club/2 이런 식으로 값을 넣어 id 값 = 2 라는 정보를 전달해주는 것이다.
3. @RequestBody
@PostMapping("/api/udong/club") public Long save(@RequestBody ClubSaveRequestDto requestDto) { return clubService.save(requestDto); }
예를들어 프론트에서
{
"id":2,
"name":"hello"
}
이런 json 형식의 데이터를 서버로 보내주면 이를 받아서 자바 객체 형태로 매핑해준다.
'SOLUX-완숙이' 카테고리의 다른 글
회원가입 시 password를 암호화하여 저장하기 (0) 2022.01.12 spring security+jwt 회원가입, 로그인 #1 (0) 2022.01.12 @ElementCollection에서 table not found error (0) 2022.01.11 ERD (0) 2022.01.05 org.h2.jdbc.JdbcSQLSyntaxErrorException 에러 (0) 2022.01.04