RestController를 공부하다보면 QueryString 쿼리스트링과 Path variable 주소변수 매핑이 헷갈릴때가 있었다.
이 두가지 모두 구체적인 데이터 요청시에 쿼리 스트링(QueryString)이나 주소 변수 매핑(Path variable)이 필요하다.
통닭을 주문했다.
통닭에는 양념, 후라이드가 있다.
구체적으로 통닭을 주문해보자!
@RestController
public class QuerypathController {
@GetMapping("/chicken")
public String chickenQuery(String type){
return type + "배달갑니다.(쿼리스트링)";
}
@GetMapping("/chicken/{type}")
public String chickenPath(@PathVariable String type){
return type + "배달갑니다.(주소변수매핑)";
}
}
RestController에 각각의 쿼리스트링과 주소변수 매핑을 넣었다.
queryString의 경우 /chicken?type={type}
pathVariable의 경우 /chicken/{type}
을 넣어야 결과가 나올수 있다.
localhost:8080/chicken
localhost:8080/chicken?type=양념
localhost:8080/chicken/양념
특정값으로 필터링
정렬이나 필터링을 할때 사용한다.
/cafe?cafeName=서울 #서울에 있는 카페를 찾을때
특정 인덱스에 대한 조회
리소스를 식별할때 사용하는게 일반적이다.
/cafe/15 # 전체 카페중 인덱스가 15번인 카페를 찾을때