Tiny Star

📌TIL [Today I Learn]

[TIL] 23년 6월 13일 화요일

청크 2023. 6. 13. 22:06

23년 6월 13일 화요일

오늘의 목표 : Spring 기초 1주차 17강까지 수강하기 

 

오늘 공부한 내용🤓

Spring MVC의 정의와 데이터를 Client에 반환하는 방법, HTTP 데이터를 객체로 처리하는 방법을 공부했다.

본격적으로 Controller를 기능에 대해 공부하고 메모장 프로젝트 설계 실습을 시작했다.

 

[오늘 실습한 Controller 코드 중 일부]

    @PostMapping("/memos")
    public MemoResponseDto createMemo(@RequestBody MemoRequestDto requestDto) {
        // RequestDto -> Entity
        Memo memo = new Memo(requestDto);

        // Memo Max ID Check
        Long maxId = memoList.size() > 0 ? Collections.max(memoList.keySet()) + 1 : 1;
        memo.setId(maxId);

        // DB 저장
        memoList.put(memo.getId(), memo);

        // Entity -> ResponseDto
        MemoResponseDto memoResponseDto = new MemoResponseDto(memo);

        return memoResponseDto;
    }

    @GetMapping("/memos")
    public List<MemoResponseDto> getMemos() {
        // Map To List
        List<MemoResponseDto> responseList = memoList.values().stream()
                .map(MemoResponseDto::new).toList();

        return responseList;
    }

 

 

어려웠던 내용😵‍💫

 

궁금&부족한 내용❓

메모장 실습에서 Create, Read 두가지를 구현했다.

처음에는 Create 기능이 되지 않아서 처음부터 다시 코드를 짜니 해결이 되었으나 데이터를 받아오는 값이 전부 null...

 

코드 상에서는 뭐가 문제인지 잘 모르겠어서 내일 다시 작성해보면서 비교해 볼 예정이다.

 

느낀 점💡

Spring 그 자체만으로도 굉장히 어려울 줄 알았는데 Annotation 기능으로 Getter/Setter 등 코드를 손쉽게 짤 수 있는 것 같다.

'📌TIL [Today I Learn]' 카테고리의 다른 글

[TIL] 23년 6월 15일 목요일  (0) 2023.06.15
[TIL] 23년 6월 14일 수요일  (0) 2023.06.14
[TIL] 23년 6월 12일 월요일  (0) 2023.06.12
[TIL] 23년 6월 09일 금요일  (0) 2023.06.09
[TIL] 23년 6월 08일 목요일  (0) 2023.06.08