From 86a2de209ddd3c6d941a1b525b0cfe842926ac98 Mon Sep 17 00:00:00 2001 From: do-dop Date: Wed, 28 Aug 2024 21:05:17 +0900 Subject: [PATCH] =?UTF-8?q?[Refactor]apiPayLoad=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ttakkeun_server/apiPayLoad/ApiResponse.java | 5 +++-- .../ttakkeun_server/apiPayLoad/code/ReasonDTO.java | 1 - .../apiPayLoad/exception/ExceptionAdvice.java | 5 ++++- .../apiPayLoad/{ => exception}/ExceptionHandler.java | 3 +-- .../apiPayLoad/exception/handler/TempHandler.java | 11 ----------- .../ttakkeun_server/controller/OAuthController.java | 2 +- .../ttakkeun_server/controller/PetController.java | 2 +- .../dto/auth/apple/ApplePublicKeyResponse.java | 2 +- .../ttakkeun/ttakkeun_server/service/JwtService.java | 3 +-- .../ttakkeun/ttakkeun_server/service/PetService.java | 9 +++------ .../ttakkeun_server/service/RecordService.java | 2 +- .../ttakkeun_server/service/S3ImageService.java | 4 +--- .../ttakkeun/ttakkeun_server/service/TipService.java | 2 +- .../ttakkeun/ttakkeun_server/service/TodoService.java | 2 +- .../ttakkeun_server/service/auth/OAuthService.java | 2 +- .../service/auth/UserDetailServiceImpl.java | 2 +- 16 files changed, 21 insertions(+), 36 deletions(-) rename src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/{ => exception}/ExceptionHandler.java (63%) delete mode 100644 src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/handler/TempHandler.java diff --git a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ApiResponse.java b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ApiResponse.java index c387c1a..4fb2827 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ApiResponse.java +++ b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ApiResponse.java @@ -25,6 +25,7 @@ public static ApiResponse onSuccess(T result) { return new ApiResponse<>(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), result); } + //특정 성공 상태 코드가 필요할 때 public static ApiResponse of(BaseCode code, T result){ return new ApiResponse<>(true, code.getReasonHttpStatus().getCode() , code.getReasonHttpStatus().getMessage(), result); } @@ -35,8 +36,8 @@ public static ApiResponse onSuccess() { } // 실패한 경우 - public static ApiResponse onFailure(String code, String message, T data) { - return new ApiResponse<>(false, code, message, data); + public static ApiResponse onFailure(String code, String message, T result) { + return new ApiResponse<>(false, code, message, result); } public static ApiResponse ofFailure(BaseErrorCode code, T result) { diff --git a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/code/ReasonDTO.java b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/code/ReasonDTO.java index cb191f6..b63c2b6 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/code/ReasonDTO.java +++ b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/code/ReasonDTO.java @@ -14,5 +14,4 @@ public class ReasonDTO { private final String code; private final String message; - //public boolean getIsSuccess(){return isSuccess;} } diff --git a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionAdvice.java b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionAdvice.java index 11bc748..897921c 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionAdvice.java +++ b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionAdvice.java @@ -27,6 +27,7 @@ @RestControllerAdvice(annotations = {RestController.class}) public class ExceptionAdvice extends ResponseEntityExceptionHandler{ + //유효성 검사에서 제약 조건이 위반되었을 때 발생하는 예외 @org.springframework.web.bind.annotation.ExceptionHandler public ResponseEntity validation(ConstraintViolationException e, WebRequest request) { String errorMessage = e.getConstraintViolations().stream() @@ -37,6 +38,7 @@ public ResponseEntity validation(ConstraintViolationException e, WebRequ return handleExceptionInternalConstraint(e, ErrorStatus.valueOf(errorMessage), HttpHeaders.EMPTY,request); } + //메서드 인자가 유효하지 않을 때 발생 @Override protected ResponseEntity handleMethodArgumentNotValid( MethodArgumentNotValidException e, HttpHeaders headers, HttpStatusCode status, WebRequest request) { @@ -53,6 +55,7 @@ protected ResponseEntity handleMethodArgumentNotValid( return handleExceptionInternalArgs(e,HttpHeaders.EMPTY,ErrorStatus.valueOf("_BAD_REQUEST"),request,errors); } + //일반적인 예외 처리 @org.springframework.web.bind.annotation.ExceptionHandler public ResponseEntity exception(Exception e, WebRequest request) { e.printStackTrace(); @@ -66,11 +69,11 @@ public ResponseEntity onThrowException(GeneralException generalException, HttpSe return handleExceptionInternal(generalException,errorReasonHttpStatus,null,request); } + //예외 처리 기본 로직 private ResponseEntity handleExceptionInternal(Exception e, ErrorReasonDTO reason, HttpHeaders headers, HttpServletRequest request) { ApiResponse body = ApiResponse.onFailure(reason.getCode(),reason.getMessage(),null); -// e.printStackTrace(); WebRequest webRequest = new ServletWebRequest(request); return super.handleExceptionInternal( diff --git a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ExceptionHandler.java b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionHandler.java similarity index 63% rename from src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ExceptionHandler.java rename to src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionHandler.java index 694fd3b..c30db01 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/ExceptionHandler.java +++ b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/ExceptionHandler.java @@ -1,7 +1,6 @@ -package ttakkeun.ttakkeun_server.apiPayLoad; +package ttakkeun.ttakkeun_server.apiPayLoad.exception; import ttakkeun.ttakkeun_server.apiPayLoad.code.BaseErrorCode; -import ttakkeun.ttakkeun_server.apiPayLoad.exception.GeneralException; public class ExceptionHandler extends GeneralException { public ExceptionHandler(BaseErrorCode code) { diff --git a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/handler/TempHandler.java b/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/handler/TempHandler.java deleted file mode 100644 index 4de8532..0000000 --- a/src/main/java/ttakkeun/ttakkeun_server/apiPayLoad/exception/handler/TempHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -package ttakkeun.ttakkeun_server.apiPayLoad.exception.handler; - -import ttakkeun.ttakkeun_server.apiPayLoad.code.BaseErrorCode; -import ttakkeun.ttakkeun_server.apiPayLoad.exception.GeneralException; - -public class TempHandler extends GeneralException { - - public TempHandler(BaseErrorCode errorCode) { - super(errorCode); - } -} diff --git a/src/main/java/ttakkeun/ttakkeun_server/controller/OAuthController.java b/src/main/java/ttakkeun/ttakkeun_server/controller/OAuthController.java index 40fdf4e..e4ded2d 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/controller/OAuthController.java +++ b/src/main/java/ttakkeun/ttakkeun_server/controller/OAuthController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import ttakkeun.ttakkeun_server.apiPayLoad.ApiResponse; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.dto.auth.LoginResponseDto; import ttakkeun.ttakkeun_server.dto.auth.apple.AppleLoginRequestDto; import ttakkeun.ttakkeun_server.dto.auth.apple.AppleSignUpRequestDto; diff --git a/src/main/java/ttakkeun/ttakkeun_server/controller/PetController.java b/src/main/java/ttakkeun/ttakkeun_server/controller/PetController.java index 14fd850..240eff3 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/controller/PetController.java +++ b/src/main/java/ttakkeun/ttakkeun_server/controller/PetController.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import ttakkeun.ttakkeun_server.apiPayLoad.ApiResponse; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.converter.PetConverter; import ttakkeun.ttakkeun_server.dto.pet.PetRequestDTO; import ttakkeun.ttakkeun_server.dto.pet.PetResponseDTO; diff --git a/src/main/java/ttakkeun/ttakkeun_server/dto/auth/apple/ApplePublicKeyResponse.java b/src/main/java/ttakkeun/ttakkeun_server/dto/auth/apple/ApplePublicKeyResponse.java index 586e504..534a07d 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/dto/auth/apple/ApplePublicKeyResponse.java +++ b/src/main/java/ttakkeun/ttakkeun_server/dto/auth/apple/ApplePublicKeyResponse.java @@ -1,7 +1,7 @@ package ttakkeun.ttakkeun_server.dto.auth.apple; import lombok.Getter; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.apiPayLoad.code.status.ErrorStatus; import java.util.List; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/JwtService.java b/src/main/java/ttakkeun/ttakkeun_server/service/JwtService.java index 8c66cf7..a499bb3 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/JwtService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/JwtService.java @@ -7,7 +7,6 @@ import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.io.Encoders; import io.jsonwebtoken.security.Keys; -import io.micrometer.common.util.StringUtils; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -20,7 +19,7 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.apiPayLoad.code.status.ErrorStatus; import ttakkeun.ttakkeun_server.service.auth.UserDetailServiceImpl; //import ttakkeun.ttakkeun_server.jwt.JwtAuthenticationFilter; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/PetService.java b/src/main/java/ttakkeun/ttakkeun_server/service/PetService.java index 394e148..7ae1e3b 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/PetService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/PetService.java @@ -2,17 +2,14 @@ import com.amazonaws.AmazonServiceException; import com.amazonaws.services.s3.AmazonS3; -import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.ObjectMetadata; import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.apiPayLoad.code.status.ErrorStatus; -import ttakkeun.ttakkeun_server.apiPayLoad.exception.handler.TempHandler; import ttakkeun.ttakkeun_server.converter.PetConverter; import ttakkeun.ttakkeun_server.dto.pet.PetRequestDTO; import ttakkeun.ttakkeun_server.dto.pet.PetResponseDTO; @@ -134,10 +131,10 @@ public PetResponseDTO.EditResultDTO updateProfile(Pet pet, PetRequestDTO.AddDTO public PetResponseDTO.LoadResultDTO load(Long petId, Member member) { Pet pet = petRepository.findById(petId) - .orElseThrow(() -> new TempHandler(ErrorStatus.PET_ID_NOT_AVAILABLE)); + .orElseThrow(() -> new ExceptionHandler(ErrorStatus.PET_ID_NOT_AVAILABLE)); if (!pet.getMember().getMemberId().equals(member.getMemberId())) { - throw new TempHandler(ErrorStatus.PET_NOT_FOUND); + throw new ExceptionHandler(ErrorStatus.PET_NOT_FOUND); } return PetResponseDTO.LoadResultDTO.builder() diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/RecordService.java b/src/main/java/ttakkeun/ttakkeun_server/service/RecordService.java index f37bf06..afc13ce 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/RecordService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/RecordService.java @@ -9,7 +9,7 @@ import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.dto.record.RecordListResponseDto; import ttakkeun.ttakkeun_server.dto.record.RecordRequestDTO; import ttakkeun.ttakkeun_server.dto.record.RecordResponseDTO; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/S3ImageService.java b/src/main/java/ttakkeun/ttakkeun_server/service/S3ImageService.java index ebc1086..3a54bba 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/S3ImageService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/S3ImageService.java @@ -1,7 +1,6 @@ package ttakkeun.ttakkeun_server.service; import com.amazonaws.services.s3.AmazonS3; -import com.amazonaws.services.s3.model.CannedAccessControlList; import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.PutObjectRequest; import com.amazonaws.util.IOUtils; @@ -10,8 +9,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; -import software.amazon.awssdk.services.s3.model.S3Exception; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import java.io.ByteArrayInputStream; import java.io.IOException; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/TipService.java b/src/main/java/ttakkeun/ttakkeun_server/service/TipService.java index a062472..99ac3f0 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/TipService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/TipService.java @@ -8,7 +8,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.dto.tip.TipCreateRequestDTO; import ttakkeun.ttakkeun_server.dto.tip.TipResponseDTO; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/TodoService.java b/src/main/java/ttakkeun/ttakkeun_server/service/TodoService.java index 8a58802..f1a89e1 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/TodoService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/TodoService.java @@ -3,7 +3,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.dto.todo.*; import ttakkeun.ttakkeun_server.entity.Todo; import ttakkeun.ttakkeun_server.entity.Pet; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/auth/OAuthService.java b/src/main/java/ttakkeun/ttakkeun_server/service/auth/OAuthService.java index 0e3257e..e7ceb0d 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/auth/OAuthService.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/auth/OAuthService.java @@ -6,7 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.dto.auth.LoginResponseDto; import ttakkeun.ttakkeun_server.dto.auth.apple.AppleAuthClient; import ttakkeun.ttakkeun_server.dto.auth.apple.AppleLoginRequestDto; diff --git a/src/main/java/ttakkeun/ttakkeun_server/service/auth/UserDetailServiceImpl.java b/src/main/java/ttakkeun/ttakkeun_server/service/auth/UserDetailServiceImpl.java index 69b06ed..c0fa2a9 100644 --- a/src/main/java/ttakkeun/ttakkeun_server/service/auth/UserDetailServiceImpl.java +++ b/src/main/java/ttakkeun/ttakkeun_server/service/auth/UserDetailServiceImpl.java @@ -6,7 +6,7 @@ import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import ttakkeun.ttakkeun_server.apiPayLoad.ExceptionHandler; +import ttakkeun.ttakkeun_server.apiPayLoad.exception.ExceptionHandler; import ttakkeun.ttakkeun_server.apiPayLoad.code.status.ErrorStatus; import ttakkeun.ttakkeun_server.repository.MemberRepository;