Programing/API

Swagger Springboot 3.x Grouping 방법

리커니 2024. 3. 25. 10:24
반응형

Swagger Springboot 3.x Grouping 방법입니다.

 

Swagger에 대한 다양한 설정 방법은 아래의 Link를 확인하세요!

 

Link : https://aljjabaegi.tistory.com/713

 

Swagger Springboot 3.x 의존성 주입 및 Information 설정, 기본 설정

Swagger Springboot 3.x 의존성 주입 및 Information 설정, 초기 세팅 방법입니다. 의존성 추가 Gradle 에 Spring-web starter 와 Swagger dependency를 추가합니다. dependencies { implementation 'org.springframework.boot:spring-boot-sta

aljjabaegi.tistory.com

 

Link : https://aljjabaegi.tistory.com/714

 

Swagger Springboot 3.x Operation 설정 방법

Swagger Springboot 3.x Operation 설정 방법입니다. 초기 설정 방법은 아래의 Link를 확인하세요. Link : https://aljjabaegi.tistory.com/713 Swagger Springboot 3.x 의존성 주입 및 Information 설정, 기본 설정 Swagger Springboot 3

aljjabaegi.tistory.com

 

Link : https://aljjabaegi.tistory.com/715

 

Swagger Springboot 3.x Response 설정 방법

Swagger Springboot 3.x Response 설정 방법입니다. 초기 설정과 Operation 설정은 아래의 Link를 확인하세요. Link : https://aljjabaegi.tistory.com/713 Swagger Springboot 3.x 의존성 주입 및 Information 설정, 기본 설정 Swagger

aljjabaegi.tistory.com

 

Link : https://aljjabaegi.tistory.com/716

 

Swagger Springboot 3.x Spring.properties 설정 옵션

Swagger Springboot 3.x Spring.properties 설정 옵션입니다. 초기세팅 및 Information, Operation, Response 설정은 아래의 Link 를 확인하세요! Link : https://aljjabaegi.tistory.com/713 Swagger Springboot 3.x 의존성 주입 및 Informati

aljjabaegi.tistory.com

 

Link : https://aljjabaegi.tistory.com/717

 

Swagger Springboot 3.x JWT 인증 적용 방법

Swagger Springboot 3.x JWT 인증 적용 방법입니다. Swagger 초기 설정 및 Operation, Response, application.properties 관련 방법은 아래의 Link를 확인하세요! Link : https://aljjabaegi.tistory.com/713 Swagger Springboot 3.x 의존성

aljjabaegi.tistory.com

 

Grouping 방법

API 의 버전을 구분하거나 업무를 분리해서 관리할 때 Grouping 하는 방법에 대해서 알아보겠습니다.

SwaggerConfig 파일에 GroupedOpenApi 를 Bean에 등록해서 관리가 가능합니다.

 

import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

    @Bean
    public GroupedOpenApi version1Api() {
        return GroupedOpenApi.builder()
                .group("v1.0")
                .pathsToMatch("/v1/**")
                .build();
    }

    @Bean
    public GroupedOpenApi version2Api() {
        return GroupedOpenApi.builder()
                .group("v2.0")
                .pathsToMatch("/v2/**")
                .build();
    }
}

 

위와 같이 설정 후 Swagger를 실행하면 아래와 같이 Select a definition 콤보박스가 추가된 것을 확인 할 수 있습니다.

 

URI 가 v1 으로 시작하는 그룹과 v2로 시작하는 그룹을 관리할 수 있습니다.

@RequestMapping("/v1")
public class MemberController {
@RequestMapping("/v2")
public class DepartmentController {

 

위와 같이 MemberController에 @RequestMapping("/v1") 을,

DepartmentController에 @RequestMapping("/v2") 를 추가할 경우

 

v1.0 에는 Member Operation 들만 표출되고,

v2.0 에는 Department Operation들이 표출 되게 됩니다.

 

 

 

Github Swagger Project

https://github.com/aljjabaegiProgrammer/swagger-api

 

GitHub - aljjabaegiProgrammer/swagger-api: swagger API project

swagger API project. Contribute to aljjabaegiProgrammer/swagger-api development by creating an account on GitHub.

github.com

 

반응형