1월 16일 개발일지

2024. 1. 16. 20:41스파르타/개발일지

 

 

그동안 미뤄왔던 ToDo 앱 만들기 과제를 할 차례이다.

 

 

 

 

 

implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0")

 

먼저 build.gradle.kts 파일에 들어가서 dependencies 항목 맨 아랫 줄을 추가해줬다.

 

 

 

 

 

 

실행 완료 후 실행 완료 후 http://localhost:8080/swagger-ui/index.html 에 들어가서 확인을 해주었다

작성한 API 가 없어서 No operations defined in spec! 라는 문구가 떴다.

그리고 OpenAPI definition으로 된 이름을 바꿔주었다.

그러기 위해서는 직접 bean을 등록해준다.

등록을 할 때는 @Configuration 과 @Bean을 활용한다.

 

 

 

 

등록을 위해서 먼저 package 설정을 해주었다.

infra라는 패키지를 먼저 생성하고, 이후 infra 패키지 하위에 swagger package를 생성해준다.

 

 

Swagger Package 코드

(공식문서 참고 https://springdoc.org/#how-can-i-set-a-global-header)

package com.example.todo.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("ToDo API")
                .description("ToDo API schema")
                .version("1.0.0")
        )
}

 

title, description, version을 바꿔주었다.

 

 

 

 

재실행해서 브라우저 상에서 바뀐 화면이 뜨면 성공이다!

이제 controller를 통해 api를 작성하면 자동으로 문서화가 될 것이다.

 

 

 

 

 

 

 


 

 

Controller 와 DTO 작성

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'스파르타 > 개발일지' 카테고리의 다른 글

1월 29일 개발일지  (0) 2024.01.29
1월 17일 개발일지  (0) 2024.01.17
1월 15일 개발일지  (0) 2024.01.15
1월 12일 개발일지  (0) 2024.01.12
1월 11일 개발일지  (3) 2024.01.11