728x90
728x90
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을 사용하면 될 것이다.
혹은 둘 다 필요할 경우, 둘 다 사용할 수도 있다.
728x90
728x90
'Spring' 카테고리의 다른 글
[Spring Boot] Spring Data JPA에서 BaseEntity 사용하기 (10) | 2023.07.26 |
---|---|
Junit5에서 assertThat()과 equalTo()가 선언이 안되는 경우 (0) | 2023.05.08 |
[IntelliJ] 테스트 코드 단축키 설정 (0) | 2023.05.08 |
[Spring Boot] Spring Security without the WebSecurityConfigurerAdapter (0) | 2023.05.08 |
@JsonIgnore 이란? (0) | 2023.05.08 |