///////
Search
Duplicate

API Response 관리

속성
기본 Domain 구성 가이드
답변 완료 여부 또는 인지 여부
질문 또는 인지 이유
API Response 내에 Success 와 Fail 상태를 파악하기 위해, HTTP Status 사용해서 Success 와 Fail 의 상태값을 알 수 있지만, 더 다양한 상황에 대응 할 수 있는 변수들이 필요합니다. ex) API 통신은 성공했지만, 내부적 기획 로직에 따른 Success 와 Fail 을 구분해야하는 경우 더 다양한 상황에 대응하기 위해 어떤 변수들을 만들 예정인가요?
@Data public class ServerResponse<T> { private String code; private String message; private T result; public ServerResponse() { this.code = "0000"; } public ServerResponse(ErrorCode code, T result) { this.message = code.getMessage(); this.code = code.getCode(); this.result = result; } public ServerResponse success(String message, T result){ this.message=message; this.result=result; return this; } public ServerResponse success(String message){ this.message=message; this.result=null; return this; } public static ServerResponse of(ErrorCode code) { return new ServerResponse(code, null); } }
Java
복사
public enum ErrorCode { // HTTP Status : 401 (Unauthorized) EXPIRE_TOKEN("U000", "토큰이 만료되었습니다."), INVALID_TOKEN("U001", "토큰이 유효하지않습니다."), // default HTTP Status : 404 (Not Found) INVALID_USER("F000", "회원 탈퇴한 이메일입니다."), //탈퇴 후 6개월 뒤 다시 회원가입 가능 INVALID_TAG("F001", "태그가 존재하지 않습니다."), INVALID_URL("F002", "URL이 존재하지 않습니다."), // default HTTP Status : 409 (Conflict) DUPLICATE_EMAIL("C001", "이메일이 중복되었습니다."), DUPLICATE_NICKNAME("C002", "닉네임이 중복되었습니다."), EXPIRE_NUMBER("C003", "인증 시간이 초과되었습니다."), INVALID_NUMBER("C004", "메일 인증 번호가 일치하지 않습니다."), INVALID_EMAIL("C005", "없는 이메일입니다."), INVALID_PASSWORD("C006", "비밀번호가 일치하지 않습니다."), DUPLICATE_TAG("C007", "이미 존재하는 태그입니다."), // HTTP Status : 500 (SERVER ERROR) NULL_DATABASE("S000", "return NULL"), INVALID_JJWT("S001", "JJWT SERVER ERROR"); private String code; private String message; ErrorCode(String code, String message) { this.code=code; this.message=message; } }
Java
복사