Swagger
2024. 5. 9. 20:42ㆍTIL
✔오늘 배운 중요한 🔑 point
- Postman과 Swagger같은 테스트 및 API 문서화를 위해 쓰는 도구는 현업에서 개발을 할때 작성한 API에 대한 정보를 프론트엔드 개발자 또한 알아야하기 때문에 이러한 도구들을 사용하는것이 중요하다
🎯 오늘 배운 내용
Swagger
우리가 작성하는 api를 테스트하기 위해서 사용하는 도구
Swagger 사용법
Swagger는 springdoc의 springdoc-openapi-starter-webmvc-ui package를 통해 적용할 수 있다
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0")
springdoc-openapi-starter-webmvc-ui 패키지를 dependency로 설정하면 기본적으로 bean이 등록이 되기때문에 이러한 화면창이 바로 보여진다
직접 bean을 등록하는 방법은
bean등록을 위해서 SwaggerConfig class를 생성한 뒤
아래와 같은 코드를 작성하면
package com.teamsparta.courseregistration.infra.swagger
import io.swagger.v3.oas.models.Components
import io.swagger.v3.oas.models.OpenAPI
import io.swagger.v3.oas.models.info.Info
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@Configuration
class SwaggerConfig {
@Bean
fun openAPI(): OpenAPI = OpenAPI()
.components(Components())
.info(
Info()
.title("Course API")
.description("Course API schema")
.version("1.0.0")
)
}
// SwaggerConfig.kt
- @Configuration은 Spring application이 시작될때 이 클래스를 기반으로 컨테이너에 Bean들을 등록을 한다는 뜻
- @Bean은 빈을 정의할때 사용하는 annotaion 뜻이며 openAPI()함수가 반환하는 객체가 Bean으로 등록됨
- openAPI()는 OpenAPI 객체를 생성하고 반환하며
- .componenets(Components()): 생성된 OpenAPI 객체에 Components객체가 설정이 됨
- .info(): 생성된 OpenAPI 객체에 Info 객체가 설정이 됨,
- Info() : Info 객체를 생성하며 이 객체는 API의 정보를 나타냄, .title,.description, .version 등의 함수를 이용해서 각 API의 제목 설명 버전 등을 설정할수 있음
내가 직접 설정한 이름과 버전 등이 잘 적용이 된것을 확인 할 수있다.
🤔 어떻게 활용할까?
Swagger같은 도구는 API를 사용하는 방법을 명확하게 문서화하기때문에 프론트엔드 개발자와 같은 팀원들 간의 협업 측면에서도 매우 중요한 역할을 한다
📓 오늘의 한줄
"Some of us think holding on makes us strong, but sometimes it is letting go."
- Hermann Hesse -
'TIL' 카테고리의 다른 글
@Bean (0) | 2024.05.11 |
---|---|
DI는 중요해 (0) | 2024.05.10 |
Tactical Design & REST API (0) | 2024.05.08 |
Spring이란 (0) | 2024.05.07 |
데이터 타입 런타임 에러 (0) | 2024.05.06 |