1. 무엇을?
Spring Boot 기반 블로그 프로젝트의 기본 세팅과 기초 API를 구성합니다.
- 헬스체크 API (
GET /api/v1/health)
- 문자열 반복 API (
POST /api/v1/strings/repeat)
2. 상세 설명
구현 방식
레이어 구조
- Controller → Service → DTO 3계층 구조로 설계
- Controller는 요청/응답만 담당하고, 비즈니스 로직은 Service에서 처리
패키지 구성
controller/ : API 엔드포인트 및 전역 예외 핸들러
service/ : 비즈니스 로직
dto/ : 요청/응답 DTO 및 공통 응답 포맷
주요 구현 내용
HealthController : 서버 상태 확인용 헬스체크 엔드포인트
StringController + StringService : 입력값을 두 번 반복하는 API
StringRequest / StringResponse : 요청·응답 DTO 분리, @JsonProperty로 스네이크 케이스 응답 키 적용
ApiResponse<T> : 공통 응답 포맷 (status, message, data)
GlobalExceptionHandler : @Valid 검증 실패 시 400 에러 응답 처리
- API 경로를
/api/v1/ 접두사로 버전 구조 설계
응답 예시
{
"status": "success",
"message": "요청이 성공적으로 처리되었습니다.",
"data": {
"string_one": "hello",
"string_two": "hello"
}
}
3. 제출 전 체크 계획
4. 추가 사항
- Swagger UI:
http://localhost:8080/swagger-ui/index.html
5. 권장 추가 구현(선택)
1. 무엇을?
Spring Boot 기반 블로그 프로젝트의 기본 세팅과 기초 API를 구성합니다.
GET /api/v1/health)POST /api/v1/strings/repeat)2. 상세 설명
구현 방식
레이어 구조
패키지 구성
controller/: API 엔드포인트 및 전역 예외 핸들러service/: 비즈니스 로직dto/: 요청/응답 DTO 및 공통 응답 포맷주요 구현 내용
HealthController: 서버 상태 확인용 헬스체크 엔드포인트StringController+StringService: 입력값을 두 번 반복하는 APIStringRequest/StringResponse: 요청·응답 DTO 분리,@JsonProperty로 스네이크 케이스 응답 키 적용ApiResponse<T>: 공통 응답 포맷 (status,message,data)GlobalExceptionHandler:@Valid검증 실패 시 400 에러 응답 처리/api/v1/접두사로 버전 구조 설계응답 예시
{ "status": "success", "message": "요청이 성공적으로 처리되었습니다.", "data": { "string_one": "hello", "string_two": "hello" } }3. 제출 전 체크 계획
GET /health요청 정상 응답 확인POST /string/repeatJSON 응답 요구사항 확인4. 추가 사항
http://localhost:8080/swagger-ui/index.html5. 권장 추가 구현(선택)