File tree 1 file changed +37
-1
lines changed
1 file changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -25,7 +25,8 @@ Swagger가 먼저 나왔고 이를 토대로 OpenAPI가 나왔다.
25
25
- 웹 컨트롤러를 포함하는 애플리케이션 개발
26
26
- springdoc 의존 관계 추가
27
27
- 애플리케이션 실행하면 소스 코드 기준으로 openapi 문서 생성
28
- - 특정 URL 에서 openapi 문서 다운로드 가능
28
+ - 특정 URL 에서 openapi 문서 다운로드
29
+ - 또는 플러그인을 사용해서 openapi 문서 생성
29
30
- (프론트) openapi 를 지원하는 Mock 기동 및 개발에 활용
30
31
31
32
## springdoc 의존 관계 추가
@@ -73,6 +74,41 @@ dependencies {
73
74
74
75
JSON 파일은 /v3/api-docs 에 접속, YAML 파일은 /v3/api-docs.yaml 에 접속하면 다운로드 할 수 있으며, 필요 시 이 파일로 프론트와 협업한다.
75
76
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
+
76
112
## (프론트) openapi 지원 Mock 서버 기동
77
113
78
114
아래 Mock Server 내용 참고
You can’t perform that action at this time.
0 commit comments