제 5장. 게시글 읽기: Read

강연주·2023년 10월 13일
0

단건 조회

URL에 article 아이디를 포함하여 article 조회 요청이 들어왔을 때 응답 과정을 살펴보자.

ArticleController

PathVariable 이용
최근 HTTP API는 리소스 경로에 식별자를 넣는 스타일을 선호한다.
(!= GET 메소드의 쿼리 파라미터)
@PathVariable(경로 변수 애노테이션)를 이용하여 식별자를 쉽게 얻을 수 있다.

Article 엔티티

JPA는 영속성 컨텍스트에 엔티티 객체를 생성할 때 기본 생성자를 이용하기 때문에 기본 생성자를 가지고 있지 않으면 JPA가 엔티티를 올바르게 생성하지 못하고 예외가 발생할 수 있다.

롬복 라이브러리의 @NoArgConstructor를 이용하여 기본 생성자를 만들어주자!

목록 조회

Iterable와 List 불일치 해결

다음과 같이 Iterable이 List의 상위 인터페이스이므로 현재 부모 타입을 자식 타입에 할당하는 것에 오류가 난다.

해결 방법은 3가지가 있다.
1. 다운 캐스팅(형변환)
2. Iterable 타입으로 맞춤
3. findAll() 메서드가 ArrayList를 반환하도록 수정

우리는 3번을 이용하여 List로 업캐스팅을 진행해보자.

ArticleController

profile
백엔드 개발자 준비중

0개의 댓글