앞서 포스팅 진행했던 REST Docs 작성하기 이후에 진행되는 내용이니
앞선 포스팅을 보고 다음차례를 진행해주시면 됩니다!
2023.12.13 - [Framework/Spring] - [Spring] Rest Doc 활용하기
저는 테스트 코드를 작성하고 요로코롬 Rest Docs을 생성을 했습니다.!!
하 테스트 코드를 작성하는 과정은 쉽지 않습니다~~
많은 분들이 TDD를 지향해야한다. TDD를 배워야한다.TDD가 유행이다~
저는 개인적으로 내가 지금 하고 있는 작업이 내가 필요해서 하는가? 유행하는 기술이라 하는가? 를 구분해서 진행하는 분들이 많아졌으면 좋겠습니다.
신입이고 주니어 분들에게는 API 테스트코드 작성보다는 먼저 Util 성격의 기본적인 테스트 코드를 작성해보고 진행하시면 면 왜 이게 필요한지 알 수 있다고 생각합니다!
아무튼 본론으로 들어가서,
지금 현재 만들어진 파일들을 Open API의 json파일로 추출하는 과정이 남았습니다.
- 서비스별 Rest Docs을 생성한다.
- 생성된 Rest Doc을 Open API 형태의 Json 포맷으로 만다.
- API 문서 전용 인스턴스를 생성한다.
- 생성된 인스턴스에 swagger ui 컨테이너를 배포한다.
- swagger ui에 Open API json 파일을 밀어 넣는다.
이 과정 중 2번에 해당하는 과정이죠!
2. 생성된 Rest Doc을 Open API 형태의 Json 포맷으로 만다.
이 과정이 복잡하면서도 뚝딱하면 되더라고요!
먼저 기존의 있던 build.gradle 변경을 해주면 됩니다.
testImplementation 'com.epages:restdocs-api-spec-mockmvc:0.16.2'
openapi3 {
server = 'https://localhost:8080'
title = 'reservation'
description = 'reservation API description'
version = '0.0.1'
format = 'json'
outputFileNamePrefix = 'open-api-3-reservation-service'
outputDirectory = 'src/main/resources/static/docs'
}
적용을 하고 다시 build를 다시 합니다.
그리고 위에 보시는 이미지에서 openapi3로 gradle을 활용해서 말아주시면 됩니다.
여러 레퍼런스에서는 ./gradlew openapi3 cli를 통해 진행하라고 하지만
윈도우에서 또 환경변수 설정하고 이러기 너무 귀찮아서 그냥 GUI로 끝내시면 됩니다
이렇게 형광팬으로 json파일이 나오면서 옆에 ui 보이시죠? 저렇게 나온답니다!!
"인텔리제이 그는 신이야.... "
별로 어렵지 않아요~~ 단계적으로 차근차근 하다보면 gradle이 잘 말립니다
다음으로는 ec2에 swagger를 띄우고 배포를 진행해야하는데 아직 결정을 못했습니다.
eks 내부로 띄워야할지 아니면 외부로 띄워서 인바운드 걸어두고 관리자만 접속이 가능하도록 인가를 해야할지....
저는 한 두시간 정도 삽질해서 결과물이 나왔지만 잘 안되는 분들도 계실테니
궁금한 점은 댓글로 남겨주시면 빠르게 답변하겠습니다!
멋진 피드백은 언제나 환영입니다~ 감사합니다
'Framework > Spring' 카테고리의 다른 글
[Spring Security] Intro. Deep Dive (0) | 2024.05.08 |
---|---|
[Spring] DB 접근 방법 (0) | 2024.04.10 |
[Spring] Rest Doc 활용하기 (0) | 2023.12.13 |
[Spring] Spring MVC 패턴의 LifeCycle (0) | 2023.10.26 |
[Spring] JPA의 Persistence (0) | 2022.04.11 |