forked from Eunnee/popool
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #20 from HyuckJuneHong/member_error
feature/19
- Loading branch information
Showing
21 changed files
with
247 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
Member-Service/src/main/java/kr/co/memberservice/error/exception/BadRequestException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package kr.co.memberservice.error.exception; | ||
|
||
public class BadRequestException extends BusinessLogicException{ | ||
public BadRequestException(String message) { | ||
super(String.format("Bad Request : %s", message)); | ||
} | ||
} |
19 changes: 19 additions & 0 deletions
19
Member-Service/src/main/java/kr/co/memberservice/error/exception/BusinessLogicException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package kr.co.memberservice.error.exception; | ||
|
||
import kr.co.memberservice.error.model.ErrorCode; | ||
import lombok.Getter; | ||
|
||
@Getter | ||
public class BusinessLogicException extends RuntimeException{ | ||
|
||
private ErrorCode errorCode; | ||
|
||
public BusinessLogicException(ErrorCode errorCode){ | ||
super(errorCode.getMessage()); | ||
this.errorCode = errorCode; | ||
} | ||
|
||
public BusinessLogicException(String message){ | ||
super(message); | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
Member-Service/src/main/java/kr/co/memberservice/error/exception/DuplicatedException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package kr.co.memberservice.error.exception; | ||
|
||
import kr.co.memberservice.error.model.ErrorCode; | ||
|
||
public class DuplicatedException extends BusinessLogicException { | ||
public DuplicatedException(ErrorCode errorCode) { | ||
super(errorCode); | ||
} | ||
} |
4 changes: 0 additions & 4 deletions
4
Member-Service/src/main/java/kr/co/memberservice/error/exception/Exception.java
This file was deleted.
Oops, something went wrong.
10 changes: 10 additions & 0 deletions
10
Member-Service/src/main/java/kr/co/memberservice/error/exception/UnauthorizedException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package kr.co.memberservice.error.exception; | ||
|
||
import kr.co.memberservice.error.model.ErrorCode; | ||
|
||
public class UnauthorizedException extends BusinessLogicException{ | ||
|
||
public UnauthorizedException() { | ||
super(ErrorCode.UNAUTHORIZED_USER); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
Member-Service/src/main/java/kr/co/memberservice/error/handler/GlobalExceptionHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package kr.co.memberservice.error.handler; | ||
|
||
import kr.co.memberservice.error.exception.BusinessLogicException; | ||
import kr.co.memberservice.error.model.ResponseFormat; | ||
import org.springframework.http.HttpStatus; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.ExceptionHandler; | ||
import org.springframework.web.bind.annotation.RestControllerAdvice; | ||
|
||
@RestControllerAdvice | ||
public class GlobalExceptionHandler { | ||
|
||
@ExceptionHandler(value = {BusinessLogicException.class, RuntimeException.class}) | ||
public ResponseEntity handleRuntimeException(RuntimeException e){ | ||
ResponseFormat responseFormat = ResponseFormat.fail(e.getMessage()); | ||
return new ResponseEntity(responseFormat, HttpStatus.OK); | ||
} | ||
} |
4 changes: 0 additions & 4 deletions
4
Member-Service/src/main/java/kr/co/memberservice/error/handler/Handler.java
This file was deleted.
Oops, something went wrong.
22 changes: 22 additions & 0 deletions
22
Member-Service/src/main/java/kr/co/memberservice/error/model/ErrorCode.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package kr.co.memberservice.error.model; | ||
|
||
import lombok.Getter; | ||
|
||
@Getter | ||
public enum ErrorCode { | ||
|
||
//common | ||
UNAUTHORIZED_USER("권한이 없습니다.", 403), | ||
|
||
//member | ||
WRONG_PASSWORD("아이디나 비밀번호를 다시 확인해주세요", 400), | ||
DUPLICATED_ID("중복된 아이디를 사용할 수 없습니다.", 400); | ||
|
||
private String message; | ||
private int status; | ||
|
||
ErrorCode(String message, int status) { | ||
this.message = message; | ||
this.status = status; | ||
} | ||
} |
27 changes: 27 additions & 0 deletions
27
Member-Service/src/main/java/kr/co/memberservice/error/model/ErrorResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package kr.co.memberservice.error.model; | ||
|
||
import lombok.*; | ||
|
||
@Builder | ||
@Getter | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
@AllArgsConstructor | ||
public class ErrorResponse { | ||
|
||
private int status; | ||
private String message; | ||
|
||
public static ErrorResponse of(ErrorCode errorCode){ | ||
return ErrorResponse.builder() | ||
.status(errorCode.getStatus()) | ||
.message(errorCode.getMessage()) | ||
.build(); | ||
} | ||
|
||
public static ErrorResponse of(String errorMessage){ | ||
return ErrorResponse.builder() | ||
.status(400) | ||
.message(errorMessage) | ||
.build(); | ||
} | ||
} |
4 changes: 0 additions & 4 deletions
4
Member-Service/src/main/java/kr/co/memberservice/error/model/Model.java
This file was deleted.
Oops, something went wrong.
22 changes: 22 additions & 0 deletions
22
Member-Service/src/main/java/kr/co/memberservice/error/model/ResponseCode.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package kr.co.memberservice.error.model; | ||
|
||
import kr.co.memberservice.error.exception.BadRequestException; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Getter; | ||
|
||
import java.util.Arrays; | ||
|
||
@Getter | ||
@AllArgsConstructor | ||
public enum ResponseCode { | ||
|
||
SUCCESS(1), FAIL(2), TOKEN_EXPIRED(3); | ||
|
||
int code; | ||
|
||
public static ResponseCode of(int num){ | ||
return Arrays.stream(ResponseCode.values()) | ||
.filter(responseCode -> responseCode.getCode() == num) | ||
.findFirst().orElseThrow(() -> new BadRequestException("응답 코드를 찾을 수 없습니다.")); | ||
} | ||
} |
56 changes: 56 additions & 0 deletions
56
Member-Service/src/main/java/kr/co/memberservice/error/model/ResponseFormat.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
package kr.co.memberservice.error.model; | ||
|
||
import io.swagger.annotations.ApiModelProperty; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
|
||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
public class ResponseFormat<T> { | ||
|
||
@ApiModelProperty(example = "성공은 1 or 실패는 2 or 토큰 만료는 3") | ||
private int code; | ||
@ApiModelProperty(example = "true or false") | ||
private boolean result; | ||
private T data; | ||
@ApiModelProperty(example = "성공 or 에러 메세지 or 토큰이 만료되었습니다.") | ||
private String description; | ||
|
||
public static ResponseFormat fail(String message){ | ||
return ResponseFormat.builder() | ||
.code(ResponseCode.FAIL.getCode()) | ||
.result(false) | ||
.data(null) | ||
.description(message) | ||
.build(); | ||
} | ||
|
||
public static <T> ResponseFormat ok(T data){ | ||
return ResponseFormat.builder() | ||
.code(ResponseCode.SUCCESS.getCode()) | ||
.result(true) | ||
.data(data) | ||
.description("성공") | ||
.build(); | ||
} | ||
|
||
public static ResponseFormat ok(){ | ||
return ResponseFormat.builder() | ||
.code(ResponseCode.SUCCESS.getCode()) | ||
.result(true) | ||
.data(null) | ||
.description("성공") | ||
.build(); | ||
} | ||
|
||
public static ResponseFormat expire(){ | ||
return ResponseFormat.builder() | ||
.code(ResponseCode.TOKEN_EXPIRED.getCode()) | ||
.result(false) | ||
.data(null) | ||
.description("토큰이 만료되었습니다.") | ||
.build(); | ||
} | ||
} |
20 changes: 20 additions & 0 deletions
20
Member-Service/src/main/java/kr/co/memberservice/infra/config/SwaggerConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,24 @@ | ||
package kr.co.memberservice.infra.config; | ||
|
||
|
||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
import springfox.documentation.builders.PathSelectors; | ||
import springfox.documentation.builders.RequestHandlerSelectors; | ||
import springfox.documentation.spi.DocumentationType; | ||
import springfox.documentation.spring.web.plugins.Docket; | ||
import springfox.documentation.swagger2.annotations.EnableSwagger2; | ||
|
||
@Configuration | ||
@EnableSwagger2 | ||
public class SwaggerConfig { | ||
|
||
@Bean | ||
public Docket api() { | ||
return new Docket(DocumentationType.SWAGGER_2) | ||
.select() | ||
.apis(RequestHandlerSelectors.any()) | ||
.paths(PathSelectors.any()) | ||
.build(); | ||
} | ||
} |
19 changes: 18 additions & 1 deletion
19
Member-Service/src/main/java/kr/co/memberservice/infra/config/WebConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,21 @@ | ||
package kr.co.memberservice.infra.config; | ||
|
||
public class WebConfig { | ||
import org.springframework.context.annotation.Configuration; | ||
import org.springframework.web.servlet.config.annotation.CorsRegistry; | ||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; | ||
|
||
@Configuration | ||
public class WebConfig implements WebMvcConfigurer { | ||
|
||
private static final long MAX_AGE_SECOND = 3600; | ||
|
||
@Override | ||
public void addCorsMappings(CorsRegistry registry) { | ||
registry.addMapping("/**") | ||
.allowedOriginPatterns("*") | ||
.allowedMethods("GET", "POST", "PUT", "DELETE") | ||
.allowedHeaders("*") | ||
.allowCredentials(true) | ||
.maxAge(MAX_AGE_SECOND); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters