분류 전체보기91 Release 상태의 PV 를 Available 상태로 변경하기 helm 으로 설치된 경우 동적 프로비저닝을 통해 PV/PVC 가 동적으로 사용되었을 경우 helm 으로 uninstall 을 하게 되면 사용되었던 PV 자원의 상태는 release 상태가 된다. 이 경우 PV는 이전에 매핑된 PVC 의 ref 요소가 남아 있어 다음에 다시 helm 으로 설치하게 되면 이전에 사용했던 PV 를 다시 사용하는 것이 아니라 새로운 PV 를 생성하여 사용하게 된다. 이전에 사용했던 PV 는 그대로 release 상태로 남아 있게 된다. 이 경우 helm 삭제시 삭제 후 PV 의 spec.claimRef 를 null 로 지정하게 되면 다음에 다시 helm 으로 설치하는 경우 이전에 사용했던 PV 를 다시 사용할 수 있다. kubectl patch pv --patch '{"spe.. 쿠버네티스 2023. 7. 30. deployment 로 배포된 pod 이름만 추출하기 kubectl get pods -n -l app= \ --no-headers -o custom-column=":metadata.name" example> kubectl get pods -n test-namespace \ -l app=test-deployment --no-headers -o custom-columns=":metadata.name" 쿠버네티스 2023. 7. 30. spring boot 필드값 조건별 validation 하기 - json subtype 앞선 포스팅에서는 custom annotation 을 만들어서 조건별 validation 을 적용하는 방법을 알아보았다. 이번 포스팅에서는 @JsonTypeInfo 와 @JsonSubTypes 어노테이션을 이용하여 조건별 validation 을 적용하는 방법을 기록한다. @JsonTypeInfo 와 @JsonSubTypes 는 특정 필드의 값에 따라서 Serialization, Deserialization 을 수행하는 클래스를 별도로 정의할 수 있다는 점에서 조건별로 validation 을 처리하는데 이용할 수 있을듯 하여 샘플을 만들어 보았다. 코드 구현 야구선수 등록 API 가 있고 야구선수 등록 데이터에는 uid, 이름, 선수타입, 타율, 홈런수, 방어율, 다승수 데이터가 있다. 선수타입에는 타자,.. 스프링부트 2023. 7. 29. spring boot 필드값 조건별 validation 하기 - custom annotation REST API 를 개발하다 보면 특정 필드의 값에 따라서 다른 필드에 값이 반드시 존재해야 하는 케이스가 생긴다. Spring 에서는 어노테이션 기반으로 필드의 유효성을 체크할 수 있도록 편리함을 제공하지만 위와 같이 특정 필드 값에 따라서 다른 필드에 값이 반드시 존재해야 하는 경우에 대한 체크는 제공하지 않는다. 이번 포스팅에서는 특정 필드 값에 따른 조건별 유효성 체크 방법에 대해서 기록한다. @Valid 와 @Validated @Valid 와 @Validated 의 가장 큰 차이는 아래와 같다고 생각한다. Spring 에서는 메서드 수준 유효성 검사에 JSR-303 의 @Valid 어노테이션을 기본적으로 사용하지만 그룹 유효성 검사를 지원하지 않는다. 그룹 유효성 검사는 유효성 검사 마커를 정의.. 스프링부트 2023. 7. 29. Spring REST docs + asciidoctor + restdoc spec + swagger ui 를 통한 문서 자동화 - 필드 제약사항 추가 (커스텀) 이번 포스팅에서는 문서화 작업시에 REST API 의 요청 파라미터 혹은 요청 body payload 의 각 항목에 대한 제약사항을 문서화에 추가하는 방법에 대해서 기술한다. 이전 포스팅의 샘플 코드를 기반으로 내용을 발전시켜 나가겠다. Validation 디펜던시 추가 이전 포스팅의 pom.xml 에서 validation 디펜던시를 추가한다. org.springframework.boot spring-boot-starter-validation DTO 에 validation 추가 이전 포스팅의 MemberDto 에 validation 을 추가한다. package com.example.spring.docs.example.dto; import jakarta.validation.constraints.Max; i.. 스프링부트 2023. 7. 28. Spring REST docs + asciidoctor + restdoc spec + swagger ui 를 통한 문서 자동화 - 기본 샘플 코드 Spring REST Docs + asciidoctor + restdoc spec + swagger ui 를 통한 문서 자동화를 구현해 보자. 구현 순서는 아래와 같다. 문서화를 위한 디펜던시 추가 및 플러그인 작성 문서화 대상이 되는 컨트롤러 클래스 및 서비스 작성 문서화를 위한 테스트 코드 작성 테스트 코드를 실행하여 Spring REST docs (.adoc) 문서 파일 생성 Html 문서 작성을 위한 asciidoctor template 생성 maven plugin 실행을 통해 Html, OpenApi-v2, OpenApi-v3, postman-collection 문서 생성 swagger ui 디펜던시 추가 및 설정으로 swagger ui 페이지 접속 postman-collection.json 파.. 스프링부트 2023. 7. 22. Spring REST docs + asciidoctor + restdoc spec + swagger ui 를 통한 문서 자동화 - 개요 스프링에서 REST API 에 대한 문서화를 진행할 때 보통은 swagger + swagger ui 를 많이 사용하지만 개발코드에 문서화를 위한 annotation 을 지정해야함. API 가 업데이트 되었을 때 실수로 문서화에 대한 코드를 누락하여 실제 API 와 문서간의 동기화가 이루어지지 않을 소지가 있음. 과같은 단점이 있다. 위와 같은 단점을 해결하기 위해서는 스프링에서 제공하는 REST Docs + AsciiDoctor + Restdoc-spec + Swagger UI 를 통해서 개발코드를 오염시키지 않고 테스트 코드 기반으로 문서자동화를 구현할 수 있다. 물론 테스트 코드 기반으로 API 문서를 작성하기 때문에 보다 견고한 API 검증과 함께 문서화를 이룰 수 있는 장점이 있지만 적용하기 쉽지.. 스프링부트 2023. 7. 22. 이전 1 ··· 5 6 7 8 다음 💲 추천 글