Skip to content

[1주차] 강지훈/[feat] 프로젝트 기본세팅 및 기초 API 구성 #8

@theSnackOverflow

Description

@theSnackOverflow

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. 제출 전 체크 계획

  • 프로젝트가 정상 실행되는지 확인
  • GET /health 요청 정상 응답 확인
  • POST /string/repeat JSON 응답 요구사항 확인
  • Controller와 Service 분리 구조 확인

4. 추가 사항

  • Swagger UI: http://localhost:8080/swagger-ui/index.html

5. 권장 추가 구현(선택)

  • 요청/응답 DTO 분리
  • 잘못된 요청에 대한 예외 처리
  • 응답 메시지 커스터마이징
  • 이해하기 쉬운 API 경로 설계

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions