본문 바로가기
728x90

Programming/Spring25

RabbitMQ 흐름도 2020. 11. 12.
Swagger2 설정하기 Dependency implementation 'io.springfox:springfox-swagger2:2.9.2' implementation 'io.springfox:springfox-swagger-ui:2.9.2' SwaggerConfig @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket swaggerApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(swaggerInfo()).select() .apis(RequestHandlerSelectors.basePackage("com.nextloop.nearlog")) .paths(PathSelector.. 2020. 7. 15.
@RestControllerAdvice로 ExceptionHandling 하기 ErrorCode api에서 사용하는 모든 에러코드를 모아 놓은 곳입니다. @Getter @RequiredArgsConstructor public enum ErrorCode { SERVER_ERROR(500, "서버 에러", 5000); private final int status; private final String message; private final int code; } status HttpStatus의 value 값 message 클라이언트에 보내줄 에러 메세지 code 해당 ErrorCode가 가지는 고유한 에러 매핑코드 ApiException RuntimeException을 상속받는 구현체. 실제로 에러를 발생시키는 Exception 객체이다. IllegalArgumentException.. 2020. 7. 15.
Api 응답 객체 만들기 rest api를 작성하면서 api 인터페이스의 응답을 확장가능하도록 만들기 위한 응답 객체를 생성해보겠습니다. 대표적으로 사용하는 응답객체는 ResponseEntity가 존재합니다. api의 응답에 대한 상태(status), 내용(body), 헤더(header) 정보들을 담을 수 있습니다. public class ResponseEntity extends HttpEntity { private HttpHeaders headers; private T body; private Object status; }기존에는 해당 내용을 그대로 사용하였지만 회사마다 각각의 응답 프로토콜이 다르다는 것을 알게 되었습니다. 오늘은 회사에서 사용하는 코드를 조금 변형하여서 프로젝트에 적용해보도록 하겠습니다. Response p.. 2020. 7. 15.
스프링 서큐리티 내부 동작 오늘은 스프링 서큐리티의 동작과정에 대해 정리해볼까 합니다. 사실 내부동작을 모른채로 튜토리얼만 따라하다보면 비슷한 개념의 Jwt나 OAuth 동작 또한 새로운 것들 처럼 보입니다. 하지만 이들은 모두 스프링 서큐리티의 핵심 동작과정에서 크게 벗어나지 않습니다. 그럼 내부의 동작 원리를 살펴보도록 하겠습니다. Authentication vs Authorization 먼저 용어정리를 하는 것이 좋습니다, 처음에 가장 헤깔렸던 개념이 Authentication과 Authorization입니다. 간단히 말하면 다음과 같습니다. Authentication : 로그인하는 유저의 아이디 비밀번호가 맞는지 확인 Authorization : 로그인한 유저가 입장할 수 있는 권한이 있는지 확인 즉, Authorizati.. 2020. 7. 8.
스프링부트 h2 설정 Embedded 데이터베이스 1. Dependency build.gradle runtimeOnly 'com.h2database:h2' 2. Configuration application.yml spring.h2.console.enabled: true 3. h2 접속 해당 주소로 h2 console에 접근합니다. localhost:8080/h2-console 스프링부트는 내부적으로 아래와 같은 설정을 자동으로 합니다. 그러므로 화면과 똑같은 값이 있는지 확인하셔야 합니다. Driver Class : org.h2.Driver JDBC URL : jdbc:h2:mem:testdb Username : sa Password : 4. 로그 설정 application.yml logging.level.org.hiber.. 2020. 7. 8.
728x90