Pathvariable vs RequestParam ?

J_Eddy·2022년 5월 27일
0

💡 스프링에서 데이터를 전달해주는 대표적인 방법 두가지가 있습니다. 사용을 하면서 비슷한 부분이 많지만 다른점이 뭐가 있을까에 대해 공부하며 기록해보았습니다.

공통점

두 어노테이션 전부 데이터를 전달하기 위해 쓰입니다. uri를 통해 전달된 값을 파라미터로 받아오는 역할을 합니다.

차이점

Pathvariable

Pathvariable는 [http://localhost:8080/board/10](http://localhost:8080/board/10) 과 같이 uri를 사용합니다.

특징으로는 전달되는 값, 즉 위의 uri에서는 10과 같은 값을 하나밖에 전달 못한다는 점 입니다.

RequestParam

RequestParam은 [http://localhoust:8080/board?id=1&page=2](http://localhoust:8080/board?id=1&page=2) 와 같이 uri를 사용합니다.

Pathvariable과는 다르게 인자를 하나 이상 받을 수 있습니다. 해당 어노테이션은 아래와 같이 사용할 수 있습니다.

public String getPage(@RequestParam(value='id', requires=false)Long id,
											@RequestParam(value='page', requires=false)int page) {
	...
}

특징으로는 아래와 같이 4개의 옵션이 있습니다.

  • defaultValue : 값이 없을 때 기본적으로 전달 할 값
  • name : uri에서 바인딩 할 파라미터 이름
  • value : uri에서 바인딩하여 별칭으로 정할 값
  • required : 필수적으로 값이 전달되어저야 하는 파라미터

결론적으로는 둘다 데이터를 받아오는데에 사용하고, 하나 이상의 값을 받아 올때에는 RequestParam을 사용하지만 필요에 따라 두 어노테이션을 혼합해서 사용 할 수 있습니다.

profile
논리적으로 사고하고 해결하는 것을 좋아하는 개발자입니다.

0개의 댓글