항해99/개발일지

20220122 개발일지

paran21 2022. 1. 23. 23:07

오늘은 Spring강의를 들으면서 이번주 개인과제인 게시판 만들기를 시작하였다.

 

구현해야하는 API는 다음과 같다.

 

#게시판 API 설계하기

기능 Method URL Return
게시글 목록 조회하기 GET /api/boards List<Boards>
게시글 조회하기 GET /api/boards/{id} Long
게시글 작성하기 POST /api/boards boards

 

기능 구현 자체는 오래 걸리지 않았다.

그런데 html로 구현하는데서 시간이 오래걸렸다.

 

우선 게시글 목록 조회와 작성은 static 폴더 안에 있는 index.html로 비교적 금방 구현했다.

모달을 사용하는 부분에서 조금 해맸는데, 부트스트랩과 미니프로젝트 코드를 참고해서 작성했다.

 

그런데 문제는 게시글 상세 조회하기 페이지였다.

처음에는 모달로 구현을 하려고 했는데, 특정 id를 기준으로 GET방식으로 정보를 조회해서 보여주는 부분을 구현하지 못했다.

처음에 하고 싶은 기능은 게시글 제목을 누르면 모달 창으로 상세보기가 뜨는 것이었는데,

모달을 띄우는 부분을 해결하지 못했다.

그래서 다음으로 시도한게 게시글 제목을 누르면 detail 페이지로 이동하는 것이었다.

 

게시글 조회하기는 controller에 GET방식으로 구현했고, /boards/{id}로 만들었는데

이렇게 하니까 html을 인식하지 못하고 json형식으로 데이터가 나타났다.

찾아보니 static안에 index파일은 자동으로 인식이 되는데 여러 페이지를 구현하려면 여러가지 방법이 있는 것 같았다.

또 html에서 {id}를 전달하니 String형태라서 인식하지 못한다는 오류가 발생했다.

 

html을 여러 페이지로 구현하기 위해서는 template폴더를 사용하는데 강의에서 사용한 방식과는 달라서 잘 이해가 되지 않았다.

우선 어떤 방식으로 구현되는지 궁금해서 String 게시글 만들기 블로그 중 하나를 골라 코드 작성을 하고 실행을 했는데, 삭제/수정은 오류가 났지만 다른 기능은 구현을 된 걸 확인했다.

하지만 설정이나, 코드 작성 부분이 이해가 잘 안가서 다음주에 코드를 다시 뜯어보면서 어떤 방식으로 작동하는 것인지 공부해야 할 것 같다.

 

Spring 공부하면서 새로운 개념들이 한번에 너무 많이 등장해서 조급한 마음이 많이 든다.

많이 피곤한 상태라 일찍 쉬려고 했는데 계속 컴퓨터를 끌 수가 없었다 ㅜㅜ

(늦게 끈다고 끌때도 게더에는 아직 사람이 많았다...!!)

페이스를 조절하는게 쉽지 않다.

 

  • controller와 repository를 연결하는 Service!!! 강의에서 단순히 목록 조회 정도를 Service를 거치지 않았는데, 항상 Service를 통하는 것이 아닌지, 어떤 때 꼭 Service를 써야하는지 Spring의 구현 방식 / 구조 이해하기
  • JSP? Thymeleat? html를 어떻게 연동하는 것인가?