본문 바로가기

개발공부/개발일지

[블로그 만들기] Board CRUD 1차 구현 완료

 

 

 

 

 

 

 

블로그 만들기는 잠시 쉬고 강의를 좀 들으려고 했는데 만들어 둔 게 아깝기도 하고 조금만 수정하면 될 것 같아서 어제 살짝 수정을 해보고 간단한 테스트도 해보았다. 어제는 오류가 나서 테스트 실패했는데 오늘은 오류도 해결하고 Board 쪽은 얼추 큰 틀 구현이 된 것 같다.

 

구현한 Board 관련 부분 요약

- Board Entity 테이블 매핑해서 MySQL DB에 연결함

- Board Service 구현

- Board Controller 구현

- Board mapper 구현 (map struct 사용)

- Board Dto들 구현 (PostDto, UpdateDto, ResponseDto 등)

- Board Service 클래스에 Transactional 적용

 

 

 

사실 지지난주에 이미 만들어 본 블로그 프로젝트가 있는데 템플릿 엔진을 사용해서 서버사이드 랜더링 방식으로 구현하려다 보니까 주객이 전도되는 느낌이 들기도 했고, 공부할 시간도 부족한데 프론트 쪽까지 공부하면서 매핑을 제대로 시간 안에 구현하는 건 무리인 것 같다는 생각이 들었다. 그래서 생각을 다시 정리하고, 우선 글 Board 부분 기능 구현을 제대로 하고 나서 User 기능을 스프링 시큐리티 적용해서 로그인이랑 회원 가입 관련 기능을 구현한 다음에 잘 작동을 하면 그때 타임리프와 부트스트랩을 사용해서 웹 화면으로 보면서 테스트를 진행하는 방향으로 바꿨다. 이번 주 초반에 boardService와 controller 등 board 쪽 관련 기능들은 구현하고 어제 서버를 실행해서 postman으로 테스트해보려고 했는데 갑자기 오류가 발생해서 웹 서버 실행 자체가 안됐다. 머리 싸매고 검색해보고 찾아보면서 applicaiton.yml 설정 문제 거나 gradle.build 쪽 설정 문제 때문에 그런 것이라고 범위가 좁혀졌다. 

 

 

yml 파일은 몇 번을 봐도 수정할 부분이 없어보였고, 오늘 다시 build.gradle 의존성 부분을 이것저것 수정해보았다. 그러다가 전에 다른 프로젝트 할 때 dependencies 순서 때문에 다른 오류가 났던 게 생각이 나서 순서를 변경했다. dependencies 추가한 것들 중에 mapstruct를 맨 밑으로 이동시키고 다시 빌드한 이후에 실행해보니까 드디어 실행에 성공했다..!! 와 이때 진짜 너무 뿌듯했다ㅎㅎㅎ

 

 

 

그리고 드디어 postman으로 글 작성, 수정, 조회, 삭제 기능을 테스트 해보았는데 모두 정상적으로 실행이 됐다!

MySQL DB에도 잘 저장이 되어있나 확인했는데 post 할 때나 update, delete 할 때 잘 반영이 되는 것을 확인했다. 

아직 User Service와 Controller 부분 구현을 다 못해서 이 부분까지 추가하고 다시 테스트를 해봐야겠지만 일단 1차 목표는 성공해서 기분 좋게 하루를 마무리할 수 있을 것 같다 :)

 

아래 이미지들은 테스트 성공한 거 몇 장 캡쳐했다.

 

MySQL DB Board Table 글 등록 성공

postman으로 post 기능으로 body에 내용 넣어서 등록을 했을 때 MySQL DB Table에도 정상적으로 등록이 된 걸 확인했다.

 

 

 

Board 글 목록 조회 성공

 

Get method로 글 목록을 페이징 해서 불러오는 것도 확인했다. 하나만 입력해서 데이터가 하나만 떴는데 이 이후에 여러 개 추가했을 때 목록이 잘 뜨는 것도 확인했다!

 

 

일단 User 부분은 강의 들으면서 구현을 해봐야 할 것 같다. 주말에 부족한 부분들 공부해서 final 프로젝트 전까지 머릿속에 지식을 많이 채워 넣고 싶다.