개인적으로 하는 토이 프로젝트에 api 요청을 수행하는 기능을 구현할 것이다.
나의 전반적인 설계를 다루고, 기록하자!
해당 프로젝트는 "Git Flow" 전략으로 구현된다.
현재 main, develop, feature 브랜치로 총 3개가 존재한다.
그림으로 보면 다음과 같다.
브랜치를 생성하는 과정은 다음 링크에서 작성했다!
-> 브랜치 생성 글
오늘은 "feature/db_spring_link-ChaYoungHo" 브랜치에서 Select 기능을 구현할 예정이다.
통과
결과는 역시
symbol 에러가 뜬다!
왜? 정의를 안했으니까.
프로덕트 생성
repository 생성
서비스 생성
null pointer Exception으로 테스트 fail이다.
이유는 Product Service의 findAll() 메서드에서 null이 반환되었다!
당연하지. mysql이랑 연결을 안했으니까.
연결하러 가자!
application.properties를 삭제하고 application.yml을 생성한다.
yml에 mysql DB 설정을 기입하자.
driver-class-name : jdbc 드라이버 설정
url : db, 포트, ip, 기타 설정
username : mysql에 접속할 계정
password : 해당 계정의 비밀번호
그리고 jpa를 사용하니까 jpa설정도 추가하자.
Test시 서버도 올려주어야 해서, 서버 설정도 했다.
성공!
Assertions을 Null -> notNull로 수정했다.
테스트를 실행하면서, 수많은 에러를 경험했다.. 대부분 어노테이션 누락으로 인한.. 그리고 코드를 약간씩 수정했다.
다음번 글은 DB에 get한 데이터가 없을 시, python(네이버와 api 통신하는 서버)에 api요청을 보내는 기능을 구현하자!