오늘의 키워드
- Swagger
오늘의 내용
- Swagger-ui
- Rest API를 설계, 빌드, 문서화하고 사용하는데 도움 되는되는 OpenAPI 사양을 중심으로 구축된 오픈 소스 도구이다
- swagger의 장점은 구현 논리를 마련하지 않고도 API리소스를 시각화해서 Postman보다 편리했다
- 사용방법
- 사용을 위해서는 build.gradle에 의존성을 추가 해준다
dependencies {
// Swagger 설정
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
}
- Swagger config 클래스를 만들어 작성해 준다
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI openAPI() {
return new OpenAPI()
.components(new Components())
.info(apiInfo());
}
private Info apiInfo() {
return new Info()
.title("테스트")
.description("Swagger UI 테스트")
.version("1.0.0");
}
}
- 코드를 짧게 설명하면 아래와 같다
- OpenAPI 클래스는 Swagger 3.0을 구축하는 클래스로 API 문서의 구조를 정의한다
- apiInfo 메서드는 API문서의 기본정보를 담는 Info객체를 생성하고 반환한다
- 본인이 작업 중인 프로젝트에 따라 설정이 달라진다
- 위에 과정으로 작성이 완료되면 http://localhost:8080/swagger-ui.html로 접속하면 아래와 같은 화면이 브라우저 창에 뜬다
오늘의 회고
- 팀프로젝트에 swagger를 적용시키는데 많은 시간을 사용해 추가 기능 구현을 하지 못한 게 아쉬웠다. 내일은 쉬는 날이긴 한대 아마 나와서 작업을 해야 추가 기능 구현을 할 수 있을 거 같다. 항상 느끼지만 팀프로젝트를 하면 코드작성보다 힘든 건 Github 사용인 거 같다.
'TIL' 카테고리의 다른 글
내일배움캠프 9주차 Spring Pagination (0) | 2024.06.10 |
---|---|
내일배움캠프 8주차 Spring Global Exception Handler (0) | 2024.06.07 |
내일배움캠프 8주차 Java Class, 예외처리 (0) | 2024.06.04 |
내일배움캠프 8주차 프로젝트 리펙토링 (0) | 2024.06.03 |
내일배움캠프 7주차 Spring Refresh Token (0) | 2024.05.31 |