728x90
🌞 Spring
Spring에서 URI로 전달되는 값을 받아오는 방법이 두 가지 존재한다.
id가 1인 게시글을 가져올 때 다음과 같이 표현할 수 있다.
GET http://xxx.xxx.xxx/api/post?id=1 // query parameter
GET http://xxx.xxx.xxx/api/post/1 // path variable
딱 보면 다른데 자세하게 어떤 차이가 있는지 알아보자!
🌀RequestParam
GET http://xxx.xxx.xxx/api/post?id=1
이렇게 URI에 쿼리가 들어가는 방식일 때 사용하는 어노테이션이다.
일반적으로 Http GET Method에서 많이 사용한다.
조금 더 자세하게 들어가면 다음 4가지 경우로 많이 사용한다.
1️⃣ Searching
@GetMapping("/search")
public List<SearchResult> search(@RequestParam String q) {
// code to search for results with the specified query
}
2️⃣ Filtering
@GetMapping("/products")
public List<Product> getProducts(@RequestParam Integer price) {
// code to filter products by price
}
3️⃣ Pagination
@GetMapping("/users")
public List<User> getUsers(@RequestParam Integer page) {
// code to retrieve the correct page of users
}
4️⃣ Sorting
@GetMapping("/products")
public List<Product> getProducts(@RequestParam String sort) {
// code to sort products by specified criteria
}
Get Method를 통해서 정리된 결과를 얻고 싶을 때 사용하면 된다는 말이다 😋😋
🌀PathVariable
GET http://xxx.xxx.xxx/api/post/1
이런 방식으로 REST API에서 주로 사용되는 방식이다.
일반적으로 Http GET, PUT, DELETE Method에서 많이 사용한다.
물론 POST Method에서 특정 자원을 가르키는 용도로 사용하기도 하지만 자주 사용되진 않는다. 😋😋
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
// code to fetch and return user with the specified id
}
둘 모두 같이 사용할 수도 있으니 작성한 API를 상황에 맞춰서 사용하도록 하자!
😋 지극히 개인적인 블로그지만 훈수와 조언은 제 성장에 도움이 됩니다 😋
'개인 공부 > TIL' 카테고리의 다른 글
TIL : Bean 컨테이너와 ComponentScan (22) (0) | 2023.05.17 |
---|---|
TIL : 위상정렬 알고리즘 (21) (0) | 2023.03.03 |
TIL : Random VS SecureRandom (19) (0) | 2022.12.20 |
TIL : N+1 문제, Fetch 전략 (18) (0) | 2022.12.07 |
TIL : StringUtils 사용하기 (17) (0) | 2022.12.01 |
댓글