API 구현 연습을 통해 Spring Security/ Stream / JWT / Redis / JPA 를 실습한다.
https://start.spring.io 를 통해서 작업 환경을 셋팅했다.
@RestControllerAdvice
@Slf4j
public class ExceptionAdvice {
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public Response exception(Exception e) {
log.info("e={}", e.getMessage());
return Response.failure(-1000, "오류가 발생했습니다.");
}
}
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@JsonInclude(Include.NON_NULL)
public class Response {
private boolean success;
private int code;
private Result result;
public static Response success() {
return new Response(true, 0, null);
}
public static <T> Response success(T data) {
return new Response(true, 0, new Success<>(data));
}
public static Response failure(int code, String message) {
return new Response(false, code, new Failure(message));
}
}
- advice
- config
- security
- controller
- dto
- entity
- exception
- handler
- repository
- service