본문 바로가기

자바의 봄(Spring)62

공부하면서 만들어가는 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.
공부하면서 만들어가는 REST-API 프로젝트 REST-API 로 간단한 프로젝트를 만들어보려고 한다. CRUD의 기능을 넣고 postman으로 테스트를 하면서 진행할 예정이다. 1. 프로젝트를 세팅하고 엔티티를 작성한다. 엔티티는 Id 와 name 두 개를 갖고 있다. @lombok을 사용해서 밑에 코드를 없애줘도 되지만 그런 것 없이 진행한다. 2. Controller를 작성한다. 컨트롤러에 @RestController 어노테이션을 붙여준다. @RestController는 @Controller어노테이션에 @ResponseBody가 붙은 것으로 주로 REST 통신을 하기 위해서 사용된다. @Controller는 View를 반환하는 반면 @RestController는 ResponseEntity라는 HttpStatus 코드를 추가하여 데이터를 반환한다.. 2024. 3. 7.