Jin's Dev Story

[SpringBoot] ResponseEntity 본문

Web & Android/SpringBoot

[SpringBoot] ResponseEntity

woojin._. 2023. 10. 14. 10:01

body와 헤더 정보, 상태 코드 등을 담을 수 있는 ResponseEntity

 

상태 코드, 메시지, 데이터 담는 클래스

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

// 상태코드, 메시지, 데이터를 담을 클래스
@Data
@AllArgsConstructor
@Builder
public class DefaultRes<T> {
    private StatusEnum status;
    private String message;
    private T data;

    public DefaultRes(StatusEnum status, String message) {
        this.status = status;
        this.message = message;
        this.data = null;
    }

    public static<T> DefaultRes<T> res(StatusEnum status, String message) {
        return res(status, message, null);
    }

    public static<T> DefaultRes<T> res(StatusEnum status, String message, T data) {
        return DefaultRes.<T>builder()
                .data(data)
                .status(status)
                .message(message)
                .build();
    }
}

메시지 클래스

public class ResponseMessage {

    public static final String READ_USER = "회원 정보 조회 성공";
    public static final String NOT_FOUND_USER = "회원 정보 조회 실패";

    public static final String WRITE_BOARD = "게시글 작성 성공";
    public static final String UPDATE_BOARD = "게시글 수정 성공";
    public static final String DELETE_BOARD = "게시글 삭제 성공";
    public static final String NOT_FOUND_BOARD = "게시글 조회 실패";

    public static final String WRITE_BOARDCOMMENT = "댓글 작성 성공";
    public static final String UPDATE_BOARDCOMMENT = "댓글 수정 성공";
    public static final String DELETE_BOARDCOMMENT = "댓글 삭제 성공";
    public static final String NOT_FOUND_BOARDCOMMENT = "댓글 조회 실패";

    public static final String WRITE_RECOMMEND = "좋아요 저장 성공";

    public static final String WRITE_BATTLE = "대결 생성 성공";
    public static final String DELETE_BATTLE = "대결 삭제 성공";
    public static final String NOT_WRITE_BATTLE = "대결 생성 불가";
    public static final String CHECK_TEAM_BATTLE = "팀 대결 참여";
    public static final String NOT_FOUND_BATTLE = "대결 조회 실패";

    public static final String WRITE_BATTLERIVAL = "대결 라이벌 생성 성공";
    public static final String UPDATE_BATTLERIVAL = "대결 라이벌 걸음수 수정 성공";
}

상태 코드 클래스

// 상태코드 enum
public enum StatusEnum {
    OK(200, "OK"),
    CREATED(201, "CREATED"),
    NO_CONTENT(204, "NO_CONTENT"),
    BAD_REQUEST(400, "BAD_REQUEST"),
    UNAUTHORIZED(401, "UNAUTHORIZED "),
    FORBIDDEN(403, "FORBIDDEN "),
    NOT_FOUND(404, "NOT_FOUND"),
    INTERNAL_SERER_ERROR(500, "INTERNAL_SERVER_ERROR"),
    SERVICE_UNAVAILABLE(503, "SERVICE_UNAVAILABLE");

    int statusCode;
    String code;

    StatusEnum(int statusCode, String code) {
        this.statusCode = statusCode;
        this.code = code;
    }
}

'Web & Android > SpringBoot' 카테고리의 다른 글

[SpringBoot] @Annotation  (1) 2023.10.14
[SpringBoot] 페이징 처리  (0) 2023.10.14
[SpringBoot] Entity  (0) 2023.10.14
[SpringBoot] enum Class (열거형)  (0) 2023.10.14
[SpringBoot] Bootstrap  (0) 2023.10.14