본문 바로가기
Spring

Springfox 설정

by 수앙 2016. 9. 25.

API 문서화 및 테스트를 가능케 해주는 Springfox에 대해서 알아본다.


1. 메이븐

pom.xml

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger-ui</artifactId>

<version>2.5.0</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger2</artifactId>

<version>2.5.0</version>

</dependency>


2. 자바에서 설정

@Configuration, @EnableWebMvc 등 설정이 들어간 클래스에 추가

@EnableSwagger2

public class WebConfiguration extends WebMvcConfigurerAdapter {

// API 객체 선언

@Bean

public Docket api() {

return new Docket(DocumentationType.SWAGGER_2)

.select()

.apis(RequestHandlerSelectors.any())

.paths(PathSelectors.any())

.build()

.apiInfo(apiInfo());

}

// API에 대한 정보

public ApiInfo apiInfo() {

return new ApiInfoBuilder()

.title("Api Documentation")

.description("Api Documentation")

.version("1.0")

.license("Apache License Version 2.0")

.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")

.build();

}

// Swagger ui 접근하기 위한 설정 (API 화면)

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("swagger-ui.html")

.addResourceLocations("classpath:/META-INF/resources/");

 

   registry.addResourceHandler("/webjars/**")

    .addResourceLocations("classpath:/META-INF/resources/webjars/");

}

|


3. Controller

@RequestMapping 애노테이션에 API 추가할 내용 @ApiOperation 애노테이션 추가

@ApiOperation(value = "index")

DTO, VO, Domain, Bean 같은 곳에 Request, Response에 해당하는 각 변수마다 API 추가할 애노테이션이 제공된다.

다음 예제 작성 시 알아보자.


4. 결과

http://localhost:8080/swagger-ui.html 접속 (톰캣 기본 포트 8080)


끝.

'Spring' 카테고리의 다른 글

Spring 4 자바 기반 Thymeleaf 설정  (0) 2016.10.16
Spring 4.3.2 log4jdbc-log4j2 설정 방법  (1) 2016.09.29
Spring 4.3.2 자바 annotation 기반 설정  (0) 2016.09.21
Spring batch 예제  (0) 2016.04.20
Spring 4.2.4 + Querydsl 3.7.1  (0) 2016.02.22

댓글