코드네임 JY

[CRUD 연습] CRUD 기능 구현 본문

백엔드 공부

[CRUD 연습] CRUD 기능 구현

영재임재영 2023. 1. 13. 11:30

🥪 구현 기능

✅ 기본적인 CRUD 기능만 구현하는데 초점

 

🍟 실행 화면

1️⃣ 초기 Home 화면

2️⃣ 등록(POST) 화면

3️⃣ Home 화면 (DB에 값이 있다면 전체 목록을 가져옴)

4️⃣ 제목을 누르면 들어갈 수 있는 수정(UPDATE) 화면

5️⃣ 삭제(DELETE) 화면

6️⃣ 수정(UPDATE) 및 삭제(DELETE)가 반영된 Home 화면

7️⃣ 로컬 데이터베이스 내역

 

🍕 이번 프로젝트로 얻은 부분

💟 JPA에서 Entity는 기본 생성자를 가져야 한다!

    ☑️ Deserialize(JSON to Object), Serialize(Object to JSON) 과정 이해하기!

💟 처음 컨트롤러 테스트 코드를 작성해야 할 때 마주했던 어려움!

    ☑️ 컨트롤러 테스트의 목적? → 통합 테스트로 HTTP 요청 다루는 테스트 해보기!

    ☑️ 통합 테스트하면 실제 코드를 통해 동작? → ㅇㅇ 맞다. postForEntity, getForEntity로 실제 HTTP 요청 가능!

    ☑️ 그렇다면 어떤 과정으로 동작? → 요청 URL에 매핑된 컨트롤러로 연결되어 동작!

💟 TestRestTemplate 사용하기! (진짜 싸우다가 미운 정 들었음 😂)

    ☑️ postForEntity, getForEntity → 테스트 코드에서 HTTP 요청 가능하게 해주는 친구들 ^^

    ☑️ 리턴 타입 → 어떻게 받을지 고민! GET은 '받아서 사용'해야하니까 중요한데, POST는 GET에 비해 덜 중요한 듯..!

💟 ResponseEntity 사용하기! (이 친구도 마찬가지 😭)

    ☑️ 405 METHOD_NOT_ALLOWED → GET, POST 요청이 모두 들어왔을 때! 요청은 하나만 사용하도록 주의!

    ☑️ 406 NOT_ACCEPTABLE → DTO에 Getter 만들어주자! 그리고 통합 테스트 실제 동작 과정 살펴보기!

💟 DTO에 Getter 만들어야 한다!

    ☑️ DTO를 적절하게 활용하는 방법, 약간 감이 왔다! (절대 Entity를 직접적으로 사용해선 안 돼..!)

'백엔드 공부' 카테고리의 다른 글

[DevOps] Github Actions CI/CD  (0) 2023.01.27
[DevOps] 빌드와 배포, CI/CD  (0) 2023.01.25
[CRUD 연습] 405 Error in Spring  (0) 2023.01.12
[CRUD 연습] 406 Error in Spring  (0) 2023.01.12
[CRUD 연습] RestTemplate으로 GET, POST  (0) 2023.01.11
Comments