Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백엔드공부
- 개발자
- Java
- 백엔드스쿨
- DAO 설계
- 엔티티 설계
- auditing
- 데이터베이스 연동
- 백엔드
- 리포지토리 인터페이스
- Swagger
- 인텔리제이
- 유효성검사
- 제로베이스 #백엔드 #Java #Spring #개발자 #백엔드공부 #백엔드 스쿨
- MariaDB
- ORM
- DAO 연동 컨트롤러 서비스 설계
- 프로젝트 생성
- spring
- validated
- 스프링 부트 핵심 가이드
- JPA
- 스프링부트실전가이드
- #devops #terraform #state
- 제로베이스
Archives
- Today
- Total
JeongJin's Blog
SpringBoot 2.7.x 에 Swagger 적용하기 본문
- API를 개발하려면 명세를 관리해야 합니다.
- Swagger 설정 방법
- build.gradle 파일에 dependency를 추가한다.
implementation 'io.springfox:springfox-boot-starter:3.0.0'
implementation 'io.springfox:springfox-swagger-ui:3.0.0'
2. 최상위 package에서 config 패키지 추가 후에 SwaggerConfig.java 에 해당 코드를 추가한다.
package com.zerobase.account.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.useDefaultResponseMessages(true) // Swagger 에서 제공해주는 기본 응답 코드를 표시할 것이면 true
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.zerobase.account"))
.paths(PathSelectors.any()) // 위 패키지 안의 api 중 지정된 path만 보여줌. (any()로 설정 시 모든 api가 보여짐)
.build();
}
public ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Account Project Rest API Documentation")
.description("Account 프로젝트 API")
.version("0.1")
.build();
}
}
3. application.properties 에 해당 코드 추가한다.
spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER # 이클립스
spring.mvc.pathmatch.matching-strategy=ant_path_matcher # 인텔리제이
4. 기동 후 아래의 주소로 접속하면 swagger 가 뜬다.
http://localhost:8080/swagger-ui/index.html#/hello-controller/helloUsingGET
※ basic-error-controller 영역 제거 방법
- 다양한 방법들이 있지만 RequestHandlerSelectors.basePackage 설정이 제일 무난하다고 생각한다.
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
...
// base-error-controller 영역 노출
.apis(RequestHandlerSelectors.any())
// base-error-controller 영역 미노출
.apis(RequestHandlerSelectors.basePackage("com.zerobase.account"))
...
.build();
}
* 그 외 기능들은 찾아보고 추가 시 업데이트를 하도록 하겠습니다

'백엔드 > Tool' 카테고리의 다른 글
Visual Studio 프로젝트 속성 (0) | 2024.02.28 |
---|---|
Visual Studio 패키지 설치 방법 (0) | 2024.02.28 |
로컬에 구성된 프로젝트를 새로운 Github Repository 에 올려보자 (0) | 2023.10.24 |
이클립스에서 HTML 에디터가 없을 때 설치법 (0) | 2023.09.22 |
이클립스 Marketplace 에서 설치해야 할 패키지 (0) | 2023.09.22 |