항해99/TIL
23일차-6/29 화 -항해99
반응형
4주차 과제로 주어진 블로그만들기가 완성이 되었다.
- REST API 로 CRUD중 글 조회는 GET, 작성은 POST 로 구현하였다.
- 메인 페이지의 글 조회는 모든 값을 GET으로 받아와서 하나씩 jquery로 붙여줬다.
글을 .append로 붙여줄 때 각 글에 해당하는 id값을 포스트마다 부여했다.
*나중에 글 조회나 삭제, 수정을 하기 위함이다. - 글쓰기 페이지에선 빈칸으로 두면 작성이 안되는 조건을 주었고
작성이 되면 .ajax POST가 실행되고 db에 저장해주고,
성공 alert이 뜬면서 메인페이지로 돌아온다. - 작성된 글을 클릭하면 해당 글에 저장된 id값을 파라미터로 받는 조회 페이지로 이동하고,
id값을 href로 받아와서 저장해준다. 그리고나서 해당 id를 이용한 GET요청을 보내기위해
Controller에 id값을 받아서 조회할 수 있는 GET api 를 추가해줬다.
@GetMapping("/api/contents/{id}")
public Contents getContents(@PathVariable Long id) {
Contents contents = ContentsRepository.findById(id);
return contents;
}
- 🚫⁉ 사실 여기서 문제가 생겼다. 위처럼 에러가 생겼는데 어떤 문제인지 오랜 시간 고민을 했다.
같은 팀원도 같은 문제에서 헤어나오지 못해서, 다른 팀의 도움을 받았다.
어!? 예외처리 하셔야죠! ,,
아,, 이때 JAVA가 왜 완벽을 추구하고 안전한 언어인지 피부로 느끼게되었다.
@GetMapping("/api/contents/{id}")
public Contents getContents(@PathVariable Long id) {
Contents contents = ContentsRepository.findById(id).orElseThrow(
()->new IllegalArgumentException(" "));
return contents;
}
- 빨간줄이 사라졌다. (편ㅡ안)
- 쉽지만 흐름을 익히기에 좋은 과제였다고 생각한다. 처음엔 하나하나 뜯어 생각하다가 크게 흐름을 보니 이해가 더 잘 되었다.
- 이해가 잘 안되었거나 설명이 필요한 중요부분을 체크해놨는데, 다음날 팀원들에게 각자 주제를 던져주고 항해톡처럼 발표해서 지식을 나누고 스스로 학습하는 기회를 가지려고 한다.
- 갑작스럽게 잡힌 spring 이태훈 튜터님과의 팀 면담! 질문을 세세하게 준비 못한 부분은 아쉽지만 평소에 궁금하던 부분들을 현업자로서, 실제 면접관으로서 현실적이게 말씀을 해주셔서 좋았다. 선착순으로 마지막 시간을 가져간 것은 신의 한수였다. 더 많은 정보들을 얻을 수 있었고, 앞으로 내가 취업할 때 어떤 것을 어필할 수 있는지와 특히, 문제를 직면하고 해결하는 과정을 자세하게 할 필요가 있다는 것을 알았다. 많은 고민을 어떻게 풀어나갔는지를 잘 설명하기 위해서 어떻게 해야할지 고민을 해봐야겠다.
반응형
'항해99 > TIL' 카테고리의 다른 글
25일차-7/01 목 -항해99 (0) | 2021.07.01 |
---|---|
24일차-6/30 수 -항해99 (0) | 2021.06.30 |
22일차-6/28 월 -항해99 (0) | 2021.06.28 |
21일차_6/27_항해99 -3주차 WIL(회고록) (0) | 2021.06.27 |
20일차-6/26 토 -항해99 (0) | 2021.06.26 |
댓글