개발 ON
  • [Spring] Swagger UI 초기 세팅
    2025년 01월 26일 22시 48분 15초에 업로드 된 글입니다.
    작성자: 이주여이

     

    작업 환경

    STS4

    Spring Framework 6.x ...

    Spring Web 3.x ...

    + API 서버는 현재 라즈베리파이 내부에 docker 컨테이너로 띄워져있는 상태

     

     

     

    KDT 이후로 스웨거 세팅이 처음이라 오랜만이였다.

    세팅하게 된 계기는 심심해서 개인 프로젝트 만들 때 마다 MVC로 하다보니 xml 작성도 귀찮고..

    회사에서 API 서버 쓰는 거 보니까 나도 하나 만들면 좋겠다 싶어서 만들어놓고나서 보니 문서화가 안되어 있어서 보기 어려웠다.

    그래서 간단하게 적용 방법만 메모용으로 남긴다.

     

     

     

    1. build.gradle

    implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0'

     

    [참고] spring boot 3.x는 spring framework 6.x 버전인데 webmvc-ui 2.x로 안돌아가면 호환 이슈로 안되는거라 2.7.0 버전으로 변경해주면 된다.

     

    2. application.yaml

    springdoc:
      default-consumes-media-type: application/json;charset=UTF-8 # API 요청 시 기본 미디어 타입 지정
      default-produces-media-type: application/json;charset=UTF-8 # API 응답 시 기본 미디어 타입 지정
      swagger-ui:
        path: /swagger # 접속 경로 지정
        disable-swagger-default-url: true # 기본 URL 사용 비활성화
        display-request-duration: true # 요청 처리 시간 표출

     

    3. SwaggerConfig

    package com.project.api.cmmn;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import io.swagger.v3.oas.models.Components;
    import io.swagger.v3.oas.models.OpenAPI;
    import io.swagger.v3.oas.models.info.Info;
    
    @Configuration
    public class SwaggerConfig {
    	@Bean
    	public OpenAPI openAPI() {
    		return new OpenAPI()
    				.components(new Components())
    				.info(apiInfo());
    	}
    	
    	private Info apiInfo() {
    		return new Info()
    				.title("API")
    				.description("API Interface Docs!")
    				.version("1.0.0");
    	}
    }

    'Study > Spring' 카테고리의 다른 글

    [Spring] Rest API ExceptionHandler  (0) 2025.01.19
    [Spring] CustomExceptionHanlder  (0) 2024.11.29
    [Spring] 검색 결과 미리보기  (0) 2024.11.17
    [Spring] 공개/비공개글  (2) 2024.11.03
    [Spring] RSS(XML) Parsing  (0) 2024.09.21
    댓글