Swagger란?
개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 대부분의 사용자들은 스웨거 UI 도구를 통해 스웨거를 식별하며 스웨거 툴셋에는 자동화된 문서화, 코드 생성, 테스트 케이스 생성 지원이 포함된다.
Swagger 설정 방법
- Spring-Doc 이용
- 스프링으로 개발시 swagger 문서를 쉽게 작성할 수 있도록 도와주는 라이브러리이다.
https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-ui
Spring Boot 2.7.12
Java 11
1. Gradle 설정
implementation 'org.springdoc:springdoc-openapi-ui:1.6.11'
2. application.yml 설정
springdoc:
api-docs:
enabled: true
swagger-ui:
enabled: true
tagsSorter: method
operations-sorter: method
display-request-duration: true
default-consumes-media-type: application/json;charset=UTF-8
default-produces-media-type: application/json;charset=UTF-8
- https://springdoc.org/properties.html
- method 순으로 정렬
- Http method 순으로 정렬
3. Spring Security 설정
.antMatchers("/v3/api-docs/**", "/swagger-ui/**", "/swagger-resources/**", "/swagger-ui/**").permitAll()
4. Config 설정
@Configuration
@EnableWebMvc
public class SwaggerConfig {
@Bean
public GroupedOpenApi alumniApi(){
return GroupedOpenApi.builder()
.group("Alumni-api")
.pathsToMatch("/**")
.build();
}
@Bean
public OpenAPI alumniOpenAPI() {
return new OpenAPI()
.info(new Info().title("Alumni API")
.description("동문개발자 프로젝트 API 명세서 입니다."));
}
}
- Swagger 접속
http://localhost:8080/swagger-ui/index.html
- group
- group 이름 설정
- OpenAPI
- 기본적인 제목, 버전, 설명에 관한 설명
'Study' 카테고리의 다른 글
[JAVA] 리플렉션(Reflection)이란? (1) | 2024.06.26 |
---|---|
JDBC 이해 (0) | 2024.06.18 |
[Spring Boot] Swagger 적용하기2 - Parameters & RequestBody (0) | 2023.08.05 |
[Spring Boot] Swagger 적용하기1 - controller & response (0) | 2023.08.03 |