이전까지 api 명세서를 노션으로 표를 만들어 작성하며 수정 사항이 있다면 지속적으로 최신화를 시켜주곤 했다. 직접 표 안에 작성하기 때문에 새로운 툴을 사용할 때의 어려움은 없지만 불편한 부분이 있었다. 바로 수정할 사항이 있을 때 최신화를 지속적으로 시켜줘야 한다는 것인데, 급하게 코드를 수정하거나 할 때 최신화를 잊어버릴 수 있다는 문제였고 노션에 들어와서 계속 바꾸는게 시간도 오래 걸렸다.
그래서 intelliJ와 api가 연동되는 Swagger를 사용하기로 결정했고 계속해서 노션에 들어가 수동으로 바꿔줄 필요가 사라져 상당히 편리한 부분이었다.
나는 gradle 환경을 사용했기에 gradle 파일에 아래와 같은 코드를 추가했다.
// swagger
implementation 'org.springdoc:springdoc-openapi-ui:1.6.6'
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
또한 Config 파일을 하나 생성해줘야 하는데 그렇게 어렵진 않다.
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class Swagger2Config {
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("그룹명")
.pathsToMatch("/**")
.build();
}
@Bean
public OpenAPI springShopOpenAPI() {
return new OpenAPI()
.info(new Info().title("Swagger 제목")
.description("description 이름")
.version("v0.0.1"));
}
}
'공모전' 카테고리의 다른 글
[공모전] 메인페이지 전체조회 속도 개선 (0) | 2023.06.27 |
---|---|
[공모전] MySQL db와 연동했지만 h2가 연결되었던 문제 (0) | 2023.06.22 |
[공모전] xml파일 변환 (0) | 2023.06.18 |
[공모전] 애자일/폭포수 (0) | 2023.06.17 |
[공모전] 회의 및 설계 (0) | 2023.06.15 |