본문 바로가기
728x90
반응형
SMALL

IT/Spring36

Spring Rest Docs 이전 포스팅 중 Swagger를 이용한 API 문서화 및 테스트 자동화 (https://kimyhcj.tistory.com/354) 내용이 있다. ​사실 Swagger는 테스트 용이성이 매우 높고 쉽고 빠르게 초기에 진입할 수 있기 때문에 선택했었다. Swagger를 사용해서 API를 모두 만들고 난 후 API에 대해서 FrontEnd 개발자와 이야기해야 할 때 문서가 필요했는데 Swagger 화면으로 설명하기에는 부족함이 많았다. Swagger의 Annotation 설명과 실제 구현코드가 맞지 않을 수 있다는 것. 즉, 문서화 로직이 불일치 할 수 있다는 것이 가장 큰 문제였다. 그리고 소스코드에 더덕더덕 붙어 있는 지저분한 Swagger Annotation들... @ApiOperation(value .. 2020. 5. 22.
MockMvc 에 Spring Security Filter Chain 적용 Rest Docs 를 이용해 API 서버에 대한 테스트와 동시에 문서를 만들고 있다. MockMvc 를 통해 각 API 에 대해서 쉽게 테스트 할 수 있다. 어느정도의 테스트가 완료 되고 이제 사용자 권한별 API 테스트를 진행하는데 @PreAuthorize("hasRole('ADMIN')") 위와 같이 annotation을 통해 API method에 대해 권한을 체크하도록 했는데 계속 오류가 발생한다... 이상하다.. SecurityContext 에서 권한을 찾을 수가 없다니.. 왜지? 그동안 jwt 를 통해 인증을 하고 jwtfilter 를 통해 Roles 을 부여 했었는데.. Boot 를 start 하고 postman 을 통해 테스트 해 보니 ... 잘된다.. 응???? 응??? 다시 테스트 해보고.. 2020. 3. 26.
Spring Boot HTTPS 설정 & WebClient HTTPS Spring Boot 에서 HTTP를 설정하는 것은 간단하다. 참고로 테스트 한 Spring Boot 의 버전은 2.2.1 이며 undertow 를 사용했다. ​ keytool 을 이용하여 인증서를 생성한다. keytool -genkey -alias yhkim-ssl -keyalg RSA -keysize 2048 -validity 7300 -keypass 12341234 -keystore yhkim-server.jks application.properties 또는 application.yaml 파일에 ssl 관련 옵션을 설정한다. server: servlet: context-path: /linkage port: 8082 ssl: enabled: true key-alias: yhkim-ssl key-sto.. 2020. 2. 20.
AOP - 필요할 때 마다 알아서 해 줄테니 넌 핵심 로직에 집중해 AOP (Aspect Oriented Programming) - 관점지향 프로그래밍 다중 상속이 불가능한 Java에서 기능을 구현하는 핵심 기능 코드와 공통 기능 코드가 섞여 있어서 효율성이 떨어짐 핵심기능과 공통기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵식 기능들에서 사용하는 방식을 말합니다. AOP 주요 용어 Aspect: 공통 기능 Advice: Aspect의 기능 자체 Aspect를 공통 기능이라고 크게 묶었다면 Advice는 그 안의 세부적인 주요 기능이라고 생각하면 됨 Joinpoint: Advice를 적용해야 하는 부분 (ex. 메서드) Pointcut: Joinpoint의 부분으로 실제 Advice가 적용된 부분 Weaving: Advice를 핵심 기능에 적용하는 행위 Spring .. 2020. 1. 31.
728x90
반응형
LIST