Swagger는 API 문서를 생성하고 관리하는 도구인 API Docs 이다. Swagger가 springfox, springdocs 2종류가 있는데 springfox는 업데이트가 중단돼서 현재는 springdocs만 사용되고 있는 중이다. springfox를 사용해도 되긴 한데 springboot 버전 2점대에서만 사용 할 수 있다.
springdocs는 그게 2버전으로 나뉘는데 1.x, 2.x 버전으로 나뉘는데, 1.x 버전은 springboot 버전 2.x 버전에서 사용되고 2.x 버전은 springboot 버전 3.x 버전에서 사용된다. 각 최신 버전은 아래 URL에서 확인할 수 있다.
1.x 버전 공식 문서는 URL : https://springdoc.org/v1/
2.x 버전 공식 문서 URL : https://springdoc.org/
swagger springdoc적용 방법
swagger를 추가하는 방법은 간단하다.
build.gradle 파일에서 아래 의존성을 추가해주면 된다. 아래는 springdoc 1.8버전 의존성을 추가한것이다. 만약에 2.4버전을 추가하고 싶으면 아래 1.8.0을 지우고 2.4.0으로 수정해주면 된다.
implementation 'org.springdoc:springdoc-openapi-ui:1.8.0'
그리고 아래 URL 접속 하면 아무것도 설정 되지 않은 swagger 화면이 나올것이다.
localhost:8080/swagger-ui/index.html
swagger 타이틀 메뉴 설정 방법
SwaggerConfig 클래스를 만들고 GroupedOpenApi 빈을 생성해서 메뉴를 설정할수 있고
OpenAPI 빈을 만들어서 Title을 설정할 수 있다.
@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("v1-clothstar")
.pathsToMatch("/**")
.build();
}
@Bean
public OpenAPI springShopOpenAPI() {
return new OpenAPI().info(new Info().title("API").description(" API 명세").version("v0.1"));
}
}
Controller와 api 문서 적용 방법
Controller 클래스에서 @Tag로 Controller에 대한 설명과 @Operation 으로 api에 대한 설명을 추가할 수 있다.
'Project > B2C-Side-Project(first)' 카테고리의 다른 글
[SpringBoot]GlobalException 활용한 코드 리팩토링 (0) | 2024.04.14 |
---|---|
[SpringBoot] 스프링 시큐리티 DB에서 사용자 정보 가져와서 로그인, 권한 적용 해보기 (1) | 2024.03.31 |
[SpringBoot] 스프링 시큐리티 설정 주의할점 (1) | 2024.03.29 |
[SpringBoot] Mysql boolean필드와 Java 멤버 필드 boolean 타입 매핑 주의 할점 (0) | 2024.03.24 |
[SpringBoot] Mockito 이용하여 단위테스트 적용하는 방법, @Mock, @InjectMocks 어노테이션 이해하기 (0) | 2024.03.23 |