본문 바로가기

분류 전체보기129

SpringBoot-Movie-Thymeleaf-Project - 1 스프링 부트와 Thymeleaf를 이용한 프로젝트를 해보려고 한다. 우선 사용할 API는 TMDB api 이다 . @Test public void apiTest() { RestTemplate rt = new RestTemplate(); ResponseEntity entity = rt.getForEntity("https://api.themoviedb.org/3/tv/popular?language=en-US&page=1&api_key=" + apikey, String.class); String body = entity.getBody(); System.out.println(body); } 해당 코드를 돌리면 아래와 같이 값을 정상적으로 받아올 수 있는 것을 알 수 있다. @Data public class Ap.. 2024. 3. 13.
공부하면서 만들어가는 REST-API 프로젝트 - 3 1. 학생 객체를 List로 가져오는 Get 메소드 작성 2. repository에서 찾았을때 Student가 존재하지 않을 경우 StudentNotFoundException 생성 3. service 계층에 get 메서드 생성 4. 테스트 코드 작성 및 테스트 그리고 서비스 계층은 아래와 같이 작성해준다 . DB를 찾았는데 존재하지 않으면 에러를 발생시켜준다. 서비스 계층 및 컨트롤러 테스트 코드 작성 테스트 코드가 정상 통과한 것을 알 수 있다. 2024. 3. 11.
공부하면서 만들어가는 REST-API 프로젝트 - 2 1. 서비스 계층 만들기 - StudentService 클래스 생성 - create 메소드로 학생 객체 생성 및 Repository에 저장하도록 한다. -> 생성자 주입으로 의존성을 주입시켰다. 의존성 주입에는 이렇게 3개 존재한다. 1. 필드 주입 2. 생성자 주입 3. Setter 주입 각각의 장단점이 있으며 필드 주입이 가장 간단하지만 생성자 주입을 웬만하면 권장한다. 2. 서비스 계층 테스트하기 (create 메소드) 및 전체 학생 조회하기 - create 메소드 테스트하기 (service 계층) - get 메소드 작성하기 ( 전체 학생 조회 ) 해당 코드로 테스트를 돌렸을때 아래와 같은 에러가 나온다 because "this.studentService" is null 이것은 studentServ.. 2024. 3. 9.
@Builder 패턴을 쓰는 이유 스프링에서 @Builder 패턴을 쓰는 이유 1. 가독성 2. 순서가 다름에 따른 오류 방지 3. 파라미터가 많을 경우 필요에 따라 모두 생성자를 만들어서 사용하기 어렵다. 예시는 추후에 추가하도록 하겠다. 2024. 3. 9.