| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 405 METHOD_NOT_ALLOWED
- 406 NOT_ACCEPTABLE
- 컴포넌트 스캔
- 통합 테스트
- 좋은 객체지향 설계 원칙
- 빈 스코프
- jdbc template
- 스프링 데이터 JPA
- SpringBootTest
- 랜덤 포트
- testresttemplate
- 기본 생성자
- entity
- Controller
- Java Reflection API
- 의존성 주입
- 스프링
- 가을야구
- RunWith
- 의존관계 자동 주입
- 테스트 코드
- 정적 컨텐츠
- 스프링 IoC 컨테이너
- ResponseEntity
- 키움
- restTemplate
- jdbc
- 스프링 컨테이너
- Not Acceptable
- JPA
- Today
- Total
코드네임 JY
[CRUD 연습] CRUD 기능 구현 본문

🥪 구현 기능
✅ 기본적인 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 |