@RequestParam과 @Pathvariable의 차이점

jieunee·2022년 11월 7일
0

Spring Boot 에서 데이터 조회 API 를 제작하는 방법은 대표적으로 두 가지가 있다.

1. http://localhost:8080/board?id=1
2. http://localhost:8080/board/id/1

예시로 보다시피, 둘 다 같은 데이터를 받아오지만 전반적으로 봤을 때 가장 큰 차이점은 쿼리스트링의 사용 여부라고 볼 수 있다.

아래부터는 둘의 차이를 좀 더 자세하게 분석을 해보도록 하겠다.


@RequestParam 이란?

@RequestParam의 파라미터 종류는 4가지이다.

  • defaultValue : 값을 설정하지 않았을 때 설정할 기본값
  • name : 바인딩할 파라미터의 이름
  • value : name의 별칭
  • required : 필수 값 사용 여부 설정 (무조건 설정을 해주어야 함)
@RequestParam(value="param1", required=true) String param1),
@RequestParam(value="param2", required=true) String param2)

@Pathvariable 이란?

@Pathvariable 에서 가장 중요한 포인트는 어떠한 요청이든 하나밖에 사용할 수 없다는 것이다. 해당 어노테이션도 앞서 말한 @RequestParam과 마찬가지로 name, value, required 파라미터가 있고 default 값을 설정하지 않는다.

@Pathvariable(value="param1" String param1)

@RequestParam에는 default 값이라는 것이 있기 때문에, 만약에 코드를 짤 때 default 값을 설정할 것이라면 @RequestParam 을 사용하고, 그렇지 않다면 @Pathvariable을 사용하면 될 것이다. 혹은 둘 다 필요할 경우, 둘 다 사용할 수도 있다.

profile
Back-End Developer 🌱

0개의 댓글