본문 바로가기

전체 글138

Swagger3 JWT 인증 설정 Swagger UI에서 API 테스트 시 JWT 인증을 위한 추가 설정 *이전 글에 이어서 작업(관련 글 참고) *자세한 설명 생략 ▷ Swagger-ui 추가 설정 *@SecurityScheme 사용 속성 태그 속성 설명 @SecurityScheme 인증 스키마 정보를 설정 type 인증타입 (APIKEY, HTTP, OPENIDCONNECT, OAUTH2) in 인증키 입력 위치(HEADER, QUERY, COOKIE) name 인증 스키마 명 description 인증 스키마 설명 *@OpenAPIDefinition 사용 속성 태그 속성 설명 @SecurityRequirement name Swagger-ui에서 사용할 인증 스키마 /** * Swagger3 * */ @OpenAPIDefinition.. 2023. 10. 18.
Swagger 연동 및 설정 방법 Spring Boot + Swagger 연동 방법과 간단한 설정 방법 *maven project에서 springdoc(swagger3)으로 진행 *자세한 설명 생략 ▷ Swagger3 연동 *dependency 이후 바로 사용 가능 ① pom.xml springdoc dependency org.springdoc springdoc-openapi-ui 1.7.0 ▷ Swagger3 명세서 작성 방법 *Swagger3 주요 Annotation 태그 속성 설명 @Tag Controller 명세 name API 그룹 명 description API 그룹 설명 @Operation API 명세 summary API 설명 description API 상세 설명 @Schema Model 명세 description Mod.. 2023. 10. 18.
Swagger 란? 시간 소요가 많고 관리하기 번거롭던 API 명세서 작성 작업을 Swagger를 통해 간단하게 해결 *자세한 설명 생략 ▷ Swagger 란? *OAS : Open API Specification API의 명세(Spec)를 문서화하여 관리하기 위한 프로젝트 API의 명세(Spec) 수정 시 문서 자동 갱신 Spring / Spring Boot Project에서 사용 가능 대표적인 라이브러리 : Springdoc, Springfox *차이점이 있고 Springdoc 선호 ▷ Swagger 특징 Annotation을 통해 API를 빠르게 명세 Swagger-UI를 통해 API를 시각화한 화면 제공 Swagger-UI를 통해 API 테스트 진행 가능 ▷ Swagger 사용 이유 엑셀로 관리하던 인터페이스 설계서.. 2023. 10. 18.
Dockerfile을 이용한 Application 배포 Dockerfile을 작성하여 Image 생성 후 Container 실행 *자세한 설명 생략 ▷ Dockerfile *Dockerfile: Docker에서 Image를 생성하기 위한 파일 # Docker Create Image # base Image(ubuntu 20.04) FROM adoptopenjdk/openjdk11 # application start setting ARG JAR_FILE=*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] # Container Time Zone Setting RUN apt-get update; RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtim.. 2023. 10. 17.
로그파일 생성과 관리(logback-spring.xml) 로그파일을 생성하고 관리를 위한 반복 정책을 설정하는 방법 *자세한 설명 생략 ▷ logback-spring.xml *Cassandra 관련 부분은 무시(다양한 로그를 한 파일에 담을 수 있다.) ${LOG_MSG_PATTERN} %green(%d{yyyy-MM-dd HH:mm:ss} [%-5level] : %msg %n) ${LOG_FILE_MSG_PATTERN} ${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log 100MB 7 ▷ 관련 글 SLF4J 기본 사용 방법 spring-boot-starter 에는 SLF4J와 Logback이 기본으로 설정 돼있다. *자세한 설명 생략 ▷ SLF4J란? - Simple Logging Facade 4 Java - 다양한 L.. 2023. 10. 17.
요청 필드 값 공통 체크 API 별 다른 요청 필드 값을 체크하는 메서드*상황에 따라 변경해서 사용*자세한 설명 생략  /** * 요청 필드 값 공통 체크 * * [체크 리스트] * 1. JWT VERIFY * 2. 요청 필드 값 체크 * * * @param req * @param reqVO * @param resVO * @return CmmResVO */public CmmResVO fieldsCheck(HttpServletRequest req, Object reqVO, CmmResVO resVO) { try { /** JWT 체크 */ if (!"0000".equals(JWTVerify(req, resVO).getResultCode())) { return resVO; .. 2023. 10. 12.
VERIFY JWT(nimbus) JWT 검증 메소드 *JWE *자세한 설명 생략 /** * JWT VERIFY * * @param HttpServletRequest * @param resVO * @return CmmResVO */ public CmmResVO JWTVerify(HttpServletRequest req, CmmResVO resVO) { try { final String jwt = req.getHeader("Authorization"); if(CmmUtile.nullCheck(jwt)) { return resVO.ERR_9005(); } /** JWE RSA KEYPAIR */ final KeyFactory keyFactory = KeyFactory.getInstance("RSA"); /* Decryption Key */ .. 2023. 10. 12.
Create JWT(nimbus) JWT 생성 메소드 *JWE *자세한 설명 생략 /** * JWT CREATE * * @return String */ public String JWTCreate() { String jwt = ""; try { /** JWE RSA KEYPAIR */ final KeyFactory keyFactory = KeyFactory.getInstance("RSA"); /* Encryption Key */ final X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKey)); final RSAPublicKey rsaPublicKey = (RSAPublicKey) keyFactory.generat.. 2023. 10. 12.
Cassandra Snapshot Backup And Restore 방법 Cassandra에서 Snapshot을 이용한 Backup 및 Restore 방법 *Cassandra 설치 환경 생략 *Cassandra 기본 설정으로 진행 *자세한 설명 생략 ▷ Table 생성 *Snapshot은 원하는 시점에 생성할 수 있다.( nodetool snapshot --table {table} {keyspace} ) *여기서는 Table 삭제 시 자동으로 생성된 Snapshot으로 진행 CREATE TABLE {Keyspace}.TB_TEST ( TEST_CD TEXT, TEST_NM TEXT, PRIMARY KEY ((TEST_CD)) ); ▷ Cassandra Backup 확인 *Data 생성 후에도 Cassandra Backup 폴더는 변하지 않는다. #Cassandra Backup.. 2023. 10. 4.
728x90
728x90