Today I Learned

2022년 11월 4주차 TIL

print("스테코더") 2022. 11. 25. 16:16

2022년 11월 21일

이번주 강의에서는 Javascript와 jQuery의 기초, 그리고 저번주 배웠던 것들을 바탕으로 새로운 미니 프로젝트를 한다. Memo를 작성, 조회, 변경, 삭제까지 구현할 예정이다. 난 지금 백엔드인 Spring을 공부중이기 때문에 프론트엔드인 html과 css는 주어져있었다. 저번에 혼자 디자인까지 하려니 굉장히 막막했는데 너무 다행이었다.

 

오늘 공부한 것

  • API 설계하기
    • 기능 Method URL Return
      메모 생성하기 POST /api/memos Memo
      메모 조회하기 GET /api/memos List
      메모 변경하기 PUT /api/memos/{id} Long
      메모 삭제하기 DELETE /api/memos/{id} Long
  • Repository 만들기
    • Memo 클래스 만들기
      1. 메모는 익명의 작성자 이름(username), 메모 내용(contents) 으로 이루어져 있음
      2. domain 패키지 생성 > Memo.java / Timestamped.java 생성
    • MemoRepository 인터페이스 만들기
      1. MemoRepository.java 생성
      2. 링크 중 Query Method 파트에서 다양하게 정렬, 조회할 수 있는 방법을 확인 가능
    • MemoRequestDto 클래스 만들기

2022년 11월 22일

오늘은 어제에 이어서 수정을 구현하기 위한 Service와 Controller을 생성했다. 저번주에 한번 배웠던 거라 강의를 따라가기 어렵진 않았다. 그렇다고 쓱쓱 넘기면 나도 모르는 사이에 오류가 나기 마련이니까 천천히 차근차근 진행했다.

 

오늘 공부한 것

  • Service 만들기
    • MemoService 클래스 만들기
      • src > main > java > com.sparta.week03에 service 패키지를 생성
      • 해당 패키지 아래에 MemoService.java 파일 생성
    • Memo.java에 update 메소드 추가
  • Controller 만들기
    • API 완성하기
      • MemoController.java 만들기
        1. src > main > java > com.sparta.week03에 패키지 생성
        2. MemoController.java 생성
      • Create 
      • @PostMapping("/api/memos") public Memo createMemo(@RequestBody MemoRequestDto requestDto) { Memo memo = new Memo(requestDto); return memoRepository.save(memo); }
      • Read
        @GetMapping("/api/memos")
        public List<Memo> getMemos() {
            return memoRepository.findAllByOrderByModifiedAtDesc();
        }
      • Delete
         @DeleteMapping("/api/memos/{id}")
         public Long deleteMemo(@PathVariable Long id) {
             memoRepository.deleteById(id);
             return id;
         }
      • Update
         @PutMapping("/api/memos/{id}")
         public Long updateMemo(@PathVariable Long id, @RequestBody MemoRequestDto requestDto) {
             memoService.update(id, requestDto);
             return id;
         }
    • ARC로 기능 확인하기 > 조회, 생성, 변경, 삭제