Skip to content

Commit 850eec9

Browse files
authoredJun 22, 2021
Update OpenAPI-Swagger.md
1 parent 4801196 commit 850eec9

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed
 

‎OpenAPI-Swagger.md

+37-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ Swagger가 먼저 나왔고 이를 토대로 OpenAPI가 나왔다.
2525
- 웹 컨트롤러를 포함하는 애플리케이션 개발
2626
- springdoc 의존 관계 추가
2727
- 애플리케이션 실행하면 소스 코드 기준으로 openapi 문서 생성
28-
- 특정 URL 에서 openapi 문서 다운로드 가능
28+
- 특정 URL 에서 openapi 문서 다운로드
29+
- 또는 플러그인을 사용해서 openapi 문서 생성
2930
- (프론트) openapi 를 지원하는 Mock 기동 및 개발에 활용
3031

3132
## springdoc 의존 관계 추가
@@ -73,6 +74,41 @@ dependencies {
7374

7475
JSON 파일은 /v3/api-docs 에 접속, YAML 파일은 /v3/api-docs.yaml 에 접속하면 다운로드 할 수 있으며, 필요 시 이 파일로 프론트와 협업한다.
7576

77+
## 플러그인을 사용해서 openapi 파일 생성
78+
79+
플러그인 방식도 결국 내부적으로 애플리케이션을 실행하고 특정 URL 에서 json 또는 yaml 파일을 내려받는 일을 자동으로 해줄 뿐 내부 동작은 위 특정 URL 에서 수동으로 다운로드 하는 방식과 동일하다.
80+
81+
### 빌드 파일
82+
83+
```kotlin
84+
plugins {
85+
...
86+
id("com.github.johnrengelman.processes") version "0.5.0" // 소스 코드에서 openapi 문서 생성
87+
id("org.springdoc.openapi-gradle-plugin") version "1.3.2" // 소스 코드에서 openapi 문서 생성
88+
...
89+
}
90+
91+
...
92+
93+
openApi {
94+
outputDir.set(file("$buildDir/openapi")) // 생성된 파일 저장 위치
95+
96+
// json 방식 (default)
97+
// apiDocsUrl.set("http://localhost:8080/v3/api-docs") // 소스 코드에서 만들어진 json 내용
98+
// outputFileName.set('openapi.json') // json 내용으로부터 생성되는 json 파일 이름
99+
// yaml 방식
100+
apiDocsUrl.set("http://localhost:8080/v3/api-docs.yaml") // 소스 코드에서 만들어진 yaml 내용
101+
outputFileName.set("openapi.yml") // yaml 내용으로부터 생성되는 yaml 파일 이름
102+
}
103+
104+
```
105+
106+
### 플러그인 실행
107+
108+
openapi > generateOpenApiDocs 태스크를 실행하면 아래와 같이 스프링 부트 애플리케이션이 실행되고 완료되면 빌드 파일에서 지정한 위치에 openapi 파일이 생성된다.
109+
110+
![Imgur](https://i.imgur.com/609rJDB.png)
111+
76112
## (프론트) openapi 지원 Mock 서버 기동
77113

78114
아래 Mock Server 내용 참고

0 commit comments

Comments
 (0)
Please sign in to comment.