Skip to content

Commit

Permalink
예외처리(Token Exception 추가)
Browse files Browse the repository at this point in the history
  • Loading branch information
haeyeon0106 committed Mar 19, 2023
1 parent d5fa754 commit 9538b92
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 3 deletions.
16 changes: 13 additions & 3 deletions src/main/java/com/server/dos/controller/TokenController.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.server.dos.config.jwt.JwtProvider;
import com.server.dos.dto.TokenDto;
import com.server.dos.exception.custom.TokenException;
import com.server.dos.exception.error.ErrorCode;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
Expand All @@ -13,11 +15,11 @@
@RestController
public class TokenController {

private JwtProvider jwtProvider;
private final JwtProvider jwtProvider;

@GetMapping("/token/expired")
public String auth(){
throw new RuntimeException();
throw new TokenException(ErrorCode.UNAUTHORIZED,"토큰이 만료되었습니다.");
}

@GetMapping("/token/refresh")
Expand All @@ -32,9 +34,17 @@ public String refreshAuth(HttpServletRequest request, HttpServletResponse respon
response.addHeader("Refresh", newToken.getRefreshToken());
response.setContentType("application/json;charset=UTF-8");


// String tagUrl = UriComponentsBuilder.fromUriString("http://localhost:3000/login/")
// .queryParam("accesstoken",newToken.getAccessToken())
// .queryParam("refresh",newToken.getRefreshToken())
// .build().toUriString();
//
//
// getRedirectStrategy().sendRedirect(request,response,tagUrl);
return "NEW TOKEN";
}

throw new RuntimeException();
throw new TokenException(ErrorCode.UNAUTHORIZED,"토큰 재발급에 실패하였습니다.");
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.server.dos.exception;

import com.server.dos.exception.custom.OrderException;
import com.server.dos.exception.custom.TokenException;
import com.server.dos.exception.error.ErrorResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DataIntegrityViolationException;
Expand All @@ -24,4 +25,11 @@ public ResponseEntity<ErrorResponse> handleMeetingException(OrderException ex) {
ErrorResponse response = new ErrorResponse(ex.getErrorCode().getCode(), ex.getErrorMessage());
return new ResponseEntity<>(response, ex.getErrorCode().getStatus());
}

@ExceptionHandler
public ResponseEntity<ErrorResponse> handleTokenException(TokenException tx) {
log.error("Token Exception", tx);
ErrorResponse response = new ErrorResponse(tx.getErrorCode().getCode(), tx.getErrorMessage());
return new ResponseEntity<>(response, tx.getErrorCode().getStatus());
}
}
15 changes: 15 additions & 0 deletions src/main/java/com/server/dos/exception/custom/TokenException.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.server.dos.exception.custom;

import com.server.dos.exception.error.ErrorCode;
import lombok.Getter;

@Getter
public class TokenException extends RuntimeException{
private final ErrorCode errorCode;
private final String errorMessage;

public TokenException(ErrorCode errorCode, String errorMessage) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
}

0 comments on commit 9538b92

Please sign in to comment.