<aside> 💡
https://test.senor.co.kr/gathering?search=%EB%93%B1%EC%82%B0&page=1&size=10&order=10&address=10&category=1
이런 식으로 요청이 들어온다면, 각 맵핑된 URL로 전송, 각 API는 값이 있다면 바로 Cli로 전송(공통 로직), 값이 없다면 main서버에 요청(개별 로직) → 캐시 저장(공통 로직) 및 Cli에게 전송(GET을 제외한 요청은 메인 서버로 전달)
</aside>
GET 요청에 대해 파라미터를 어떤 형태로 받을지?
RequestParam으로 값을 전달 받는다.
@RequestParam Map<String, String> Params
이런 식으로 받으면 body의 내용을 전부 받을 수도 있다.
혹은 아래와 같이 queryString 통째로 받을 수도 있다.
@GetMapping("/process")
public String processGetRequest(HttpServletRequest request) {
String queryString = request.getQueryString();
return "Received query string";
}
//////////////////
@GetMapping("/gathering")
public String processGetRequest(HttpServletRequest request) {
String requestUriWithQueryString = request.getRequestURI() + "?" + request.getQueryString();
return "Received request URI: " + requestUriWithQueryString;
}
GET을 제외한 나머지 요청
Key(URL+queryString)는 @RequestParam
으로 값을 받을 수 있다.
@GetMapping("/getcache")
public String getCache(@RequestParam String key) {
String value = cacheService.get(key);
System.out.println(cacheService.getExpireTime(key));
return value;
}
이런 식으로 API를 작성하고