Swagger는 REST 웹서비스를 설계, 빌드, 문서화 하는것을 도와주는 오픈소스 소프트웨어이다.
Spring으로 RestAPI를 개발하고 그에대한 문서를 정리할때,
Swagger를 이용하게되면 이런 작업이 보다 편리하다.
문서 자동화 뿐만 아니라 제공되는 UI에서 직접 API테스트를 할 수 있다.
1. 의존성 추가
아래의 주소에서 사용하고싶은 스웨거 버전의 디펜던시를 찾아 프로젝트에 추가한다.
https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui
2. Swagger 설정 추가
@Configuration 으로 스웨거Config를 등록한다. 옵션 설정은 이곳에서 한다.
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* Swagger 설정 Config
* **/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.tdt")) // API 문서 만들 범위 지정
.paths(PathSelectors.any()) // API의 url 경로 지정
.build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("제목")
.version("버전")
.description("설명")
.license("라이센스")
.licenseUrl("라이센스URL")
.build();
}
}
3. 서버 구동하여 작성된 API 문서 확인
실행하여 제대로 문서가 생성되었는지 확인한다.
URL => http://<ip>:<port>/swagger-ui.html
예 : http://localhost:8080/swagger-ui.html
'IT > Server' 카테고리의 다른 글
[Spring] SpringBoot, HikariCP stats 로그 레벨 조정하기 (0) | 2023.05.11 |
---|---|
[Spring] HikariCP이란? (0) | 2023.05.11 |
[Docker] 도커/쿠버네티스 실습 기록 (0) | 2021.09.01 |
[Docker] 도커란? MacOS에 도커 설치하기 (0) | 2021.08.31 |
[Pinpoint] Pinpoint란? (0) | 2021.06.10 |