기술스택을 쌓아보자/Python

swagger codegen 을 이용해 api를 python sdk로 만들기

소리331 2024. 3. 8. 10:09
반응형
 ./run-in-docker.sh mvn package

기본 전제

1. docker 가 깔려 있음

2. api 개발이 완료되어 있고, 해당 내용이 https://apiurl/docs/swagger에 예쁘게 반영되어 있다는 점!! 

 

swagger를 쓰는 다양한 방법들이 있는데, 여기서는 docker를 사용한 방법을 적고자 한다. 

 

docker 를 이용한 swagger codegen

1. https://github.com/swagger-api/swagger-codegen 프로젝트를 로컬에 clone 한다.

git clone https://github.com/swagger-api/swagger-codegen.git

 

2. 내가 필요한 버전의 브랜치로 이동한다 ( 저는 3.0.0으로 진행)

git checkout -t origin/3.0.0

 

3. clone 받은 swagger-codegen 폴더 하위에, 내가 생성하고자 하는 프로젝트를 넣어둔다. 

swagger-codegen
   - my_project

 

4. codegen git 에 있는 내용처럼 아래 커맨드를 실행한다.

 ./run-in-docker.sh mvn package
 
 오류 시 아래로도 한번 시행해보세요! 
bash ./run-in-docker.sh mvn package

!!! 그런데 여기서 나의 경우 wls 를 통해 커맨드를 진행하였는데, 모종의 이유로 커맨드가 정상 진행되지 않을땐 앞에 bash 를 붙여 터미널 커맨드를 변경했더니 정상 시행되었다. 

 

여기까지 오면 codegen 설치는 끝! 

이제 아래 커맨드를 실행하면 내가 생성한 코드들이 생성된다. 

bash run-in-docker.sh generate \
    -i https://apiurl/docs/json/ \
    -l python \
    -o my_project \
    -DpackageName=my_project,apis={swagger tag}

 

 

참고문서

 

API Code & Client Generator | Swagger Codegen

 

swagger.io

 

반응형