[API 응답 표준화] CustomApiResponse를 ApiResponseDto로 변경하여 API 응답 구조를 통일하고, 관련 코드 및 문서 업데이트
This commit is contained in:
21
README.md
21
README.md
@@ -32,14 +32,14 @@ src/main/java/com/bio/bio_backend/
|
||||
└── BioBackendApplication.java
|
||||
```
|
||||
|
||||
### 2. API 응답 표준화 (CustomApiResponse)
|
||||
### 2. API 응답 표준화 (ApiResponseDto)
|
||||
|
||||
#### 응답 구조
|
||||
|
||||
모든 API 응답은 `CustomApiResponse<T>` 형태로 표준화되어 있습니다.
|
||||
모든 API 응답은 `ApiResponseDto<T>` 형태로 표준화되어 있습니다.
|
||||
|
||||
```java
|
||||
public class CustomApiResponse<T> {
|
||||
public class ApiResponseDto<T> {
|
||||
private int code; // HTTP 상태 코드
|
||||
private String message; // 응답 메시지 (ApiResponseCode enum 값)
|
||||
private String description; // 응답 설명
|
||||
@@ -81,12 +81,12 @@ public class CustomApiResponse<T> {
|
||||
|
||||
```java
|
||||
@PostMapping("/members")
|
||||
public ResponseEntity<CustomApiResponse<CreateMemberResponseDto>> createMember(@RequestBody CreateMemberRequestDto requestDto) {
|
||||
public ResponseEntity<ApiResponseDto<CreateMemberResponseDto>> createMember(@RequestBody CreateMemberRequestDto requestDto) {
|
||||
// ... 비즈니스 로직 ...
|
||||
|
||||
// 성공 응답
|
||||
CustomApiResponse<CreateMemberResponseDto> apiResponse =
|
||||
CustomApiResponse.success(ApiResponseCode.COMMON_SUCCESS_CREATED, responseDto);
|
||||
ApiResponseDto<CreateMemberResponseDto> apiResponse =
|
||||
ApiResponseDto.success(ApiResponseCode.COMMON_SUCCESS_CREATED, responseDto);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.CREATED).body(apiResponse);
|
||||
}
|
||||
@@ -114,7 +114,7 @@ public enum ApiResponseCode {
|
||||
|
||||
#### 핵심 규칙
|
||||
|
||||
- **모든 API 응답**: `CustomApiResponse<T>`로 감싸서 반환
|
||||
- **모든 API 응답**: `ApiResponseDto<T>`로 감싸서 반환
|
||||
- **공용 응답 코드**: `COMMON_` 접두사로 시작하는 범용 코드 사용
|
||||
- **일관된 구조**: `code`, `message`, `description`, `data` 필드로 표준화
|
||||
- **제네릭 활용**: `<T>`를 통해 다양한 데이터 타입 지원
|
||||
@@ -132,12 +132,11 @@ public enum ApiResponseCode {
|
||||
@Tag(name = "Member", description = "회원 관리 API")
|
||||
@Operation(summary = "회원 가입", description = "새로운 회원을 등록합니다.")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "201", description = "회원 가입 성공",
|
||||
content = @Content(schema = @Schema(implementation = CustomApiResponse.class))),
|
||||
@ApiResponse(responseCode = "201", description = "회원 가입 성공"),
|
||||
@ApiResponse(responseCode = "400", description = "잘못된 요청 데이터",
|
||||
content = @Content(schema = @Schema(implementation = CustomApiResponse.class))),
|
||||
content = @Content(schema = @Schema(implementation = ApiResponseDto.class))),
|
||||
@ApiResponse(responseCode = "409", description = "중복된 사용자 정보",
|
||||
content = @Content(schema = @Schema(implementation = CustomApiResponse.class)))
|
||||
content = @Content(schema = @Schema(implementation = ApiResponseDto.class)))
|
||||
})
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user