웹 요청에서 첫 API까지
HTTP와 JSON을 관찰하고 직접 실행되는 Spring Boot API로 연결합니다.
- [필수] POST /todos는 정상 입력에 201과 생성된 id·title·completed를, 잘못된 입력에 400 공통 오류를 반환하도록 계약을 정의하고 구현합니다.
- [필수] GET /todos/{id}는 존재하는 Todo에 200을, 존재하지 않는 id에 404 공통 오류를 반환하게 하고 세 경계를 실제 애플리케이션 컨텍스트의 통합 테스트로 고정합니다.
- [필수] 요청이 컨트롤러 인자가 되고 JSON 응답이 되기까지 DispatcherServlet, 검증, HttpMessageConverter의 역할을 본인 코드와 테스트에 연결해 설명합니다.
- [선택 확장] 메모리 저장소를 H2·JdbcTemplate 저장소로 교체하고 같은 API 계약 테스트가 유지되는지 확인합니다.
제출 증거 · 201·400·404 계약을 구현한 실행 가능한 API 코드 · 실제 애플리케이션 컨텍스트에서 실행한 성공·검증 실패·404 통합 테스트 결과 · 본인 파일과 테스트를 인용한 요청 흐름 설명 · 이번 주 근거형 질문 1~5 답변 · 리뷰 지적이 있으면 반영한 커밋·검증 결과, 없으면 지적 없음 기록
함께 답할 근거형 질문 5개
- HTTP 요청은 어떤 과정을 거쳐 컨트롤러 메서드의 인자가 되나요?
- 자바 객체는 누가 JSON 응답으로 변환하며, 그 사실을 어떻게 확인했나요?
- 입력 검증 실패를 컨트롤러 코드에서 직접 분기하지 않은 이유는 무엇인가요?
- 단위 테스트가 아니라 통합 테스트로 반드시 확인해야 한 경계는 무엇이었나요?
- 현재 API 계약에서 가장 먼저 깨질 가능성이 높은 부분과 그 검증 방법은 무엇인가요?







