[spring] Spring Boot 에 Swagger ui 연동
Swagger란 개발한 REST API를 편리하게 문서화 해주고, 이를 통해서 관리 및 제 3의 사용자가 편리하게 API를 호출해보고 테스트 할 수 있는 프로젝트이다.
1. Swagger 란
Swagger 란 개발한 Rest api를 편리하게 문서화 해주고, 이를 통해서 관리 및 제 3의 사용자가 편리하게 API를 호출해보고 테스트 할 수 있는 프로젝트 이다.
2. Spring Boot에 Swagger-Ui 연동하기
Spring Boot에서는 간단하게 springfox-boot-starter 를 dependencies 에 추가 함으로써 사용할 수 있다.
//file: "build.gradle"
plugins {
id 'org.springframework.boot' version '2.5.5'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.manbalboy'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
// https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
}
test {
useJUnitPlatform()
}
그래이들을 설정 후 프로젝트를 실행 한후 /swagger-ui/ path로 접근하면 swagger 로 접근가능
3. Swagger Annotation
Annotation | Attribute | Target Property | Description |
---|---|---|---|
ApiModelProperty | value | ModelProperty#description | e.g. |
ApiModelProperty | description | ModelProperty#description | e.g. |
ApiParam | value | Parameter#description | e.g. |
ApiImplicitParam | value | Parameter#description | e.g. |
ApiOperation | notes | Operation#notes | e.g. |
ApiOperation | summary | Operation#summary | e.g. |
RequestParam | defaultValue | Parameter#defaultValue | e.g. |
RequestHeader | defaultValue | Parameter#defaultValue | e.g. |
4.마무리
Swagger의 데모 프로젝트는 다음과 같다 .