PROJECT/해외 축구 정보 웹서비스

package project.footballinfo.controller; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.spr..
package project.footballinfo.controller; import org.springframework.cache.annotation.Cacheable; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework..
package project.footballinfo.controller; import org.springframework.cache.annotation.Cacheable; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework..
package project.footballinfo.controller; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import java.io.IOException; import java.util.*; @Controller @RequiredArgsConstructor public class HomeController { /** * 외부 API 를 이용 * 화면에 출력 */ @GetMapping("/") public Str..
package project.footballinfo.controller; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; import java.util.Map; public class ApiResponse { /** * API 요청 (URL을 통한) * * @param requestURL : API 요청 URL * @return : API 응답값 */ public static ResponseEntity getAPIResponse(String requestURL) { RestTemplate re..
문제1 - 각 리그 국기를 클릭하여, 알맞은 순위표로 변경하기 [문제1 - 해결 방법] : 자바스크립트를 이용하여, "버튼 클릭 이벤트" 와 "AJAX 비동기 통신" 을 이용하여 해결 문제2 - 불필요하게 너무 많은 API 요청으로 인한 오류 발생 "football-data.org" 에서 "free plan" 은 '분당 10회' 로 API 요청이 제한되어있다. [문제2 - 해결 방법] API 요청으로 받은 응답을 Caffeine 캐시를 이용하여 관리한다. 이를 통해 불필요하게 많은 요청을 방지한다. 'build.gradle' dependencies 추가 //Caffeine 캐시 implementation 'org.springframework.boot:spring-boot-starter-cache' imp..
내가 잘한다 했잖아
'PROJECT/해외 축구 정보 웹서비스' 카테고리의 글 목록