File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.mail.service;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import org.springframework.http.HttpStatus;
import itn.let.mjo.pay.service.RefundVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
/**
*
* @packageName : itn.let.mail.service
* @fileName : SuccessResponse.java
* @author : 이호영
* @date : 2022.07.04
* @description : RestApi 응답에 사용할 Class
* @TODO : CLASS 위치를 다시 잡아서 사용해야함
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2022.07.04 이호영 최초 생성
*
*
*
*/
/*
* • 1XX : 조건부 응답
* • 2XX : 성공
* • 3XX : 리다이렉션 완료
* • 4XX : 요청 오류
* • 500 : 서버 오류
*
* 참고 : https://km0830.tistory.com/33
*
* ====== 자주 사용하는 코드 =====
* 200 : Ok : 서버가 클라이언트의 요청을 성공적으로 처리, 웹 페이지에서는 페이지 요청이 정상적으로 완료 (Ok)
* 400 : Bad Request : 잘못 요청 (Bad Request)
* 401 : Unauthorized : 권한 없음, 예를 들면, 로그인 페이지가 필요한 페이지를 로그인 없이 접속하려는 경우 반환되는 코드 (인증 실패) (Unauthorized)
*
* */
@Getter
@Setter
@NoArgsConstructor
public class StatusResponse {
private HttpStatus status;
private String message;
private RefundVO refundVO;
private Object object;
private Object apiReturn;
private String messageTemp;
private LocalDateTime timestamp;
public StatusResponse(HttpStatus status, RefundVO refundVO, LocalDateTime timestamp) {
this.status = status;
this.refundVO = refundVO;
this.timestamp = timestamp;
}
public StatusResponse(HttpStatus status, Object object, LocalDateTime timestamp) {
this.status = status;
this.object = object;
this.timestamp = timestamp;
}
public StatusResponse(HttpStatus status, String message, LocalDateTime timestamp) {
this.status = status;
this.message = message;
this.timestamp = timestamp;
}
public StatusResponse(HttpStatus status, String message, String messageTemp, LocalDateTime timestamp) {
this.status = status;
this.message = message;
this.timestamp = timestamp;
this.messageTemp = messageTemp;
}
public StatusResponse(HttpStatus status, String message) {
this.status = status;
this.message = message;
}
public StatusResponse(HttpStatus status, String message, Object object) {
this.status = status;
this.message = message;
this.object = object;
}
public StatusResponse(HttpStatus status, String message
, Object object
, Object apiReturn
) {
this.status = status;
this.message = message;
this.object = object;
this.apiReturn = apiReturn;
}
/**
* @methodName : statusResponseSet
* @author : 이호영
* @date : 2025. 6. 24.
* @description :
* @return : StatusResponse
* @param statusResponse
* @param httpStatus
* @param msg
* @param statCode - statCode는 API RETURN를 위한 코드
* @return
*
*/
public static StatusResponse statusResponseSet(StatusResponse statusResponse, HttpStatus httpStatus, String msg, String statCode ) {
statusResponse.setStatus(httpStatus);
statusResponse.setMessage(msg);
Map<String, Object> apiReturnMap = new HashMap<>();
apiReturnMap.put("statCode", statCode);
apiReturnMap.put("result", httpStatus.toString());
statusResponse.setApiReturn(apiReturnMap);
return statusResponse;
}
}