IT/WEB

swagger ui 추가하기 API 설명 웹 페이지

오달달씨 2022. 6. 20. 04:53
728x90
반응형
<!-- swagger를 위한 의존 라이브러리 -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.6.1</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.6.1</version>
		</dependency>

 

package org.hdcd.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.swagger.web.UiConfiguration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

	@Bean
	public UiConfiguration uiConfig() {
		return new UiConfiguration(null);
	}
	
	private ApiInfo metadata() {
		return new ApiInfoBuilder()
				.title("Image Shop")
				.description("Image Shoop Rest API")
				.version("1.0")
				.build();
	}
	
	@Bean
	public Docket api() {
		return new Docket(DocumentationType.SWAGGER_2)
				.groupName("basic")
				.select()
				.apis(RequestHandlerSelectors.any())
				.paths(PathSelectors.ant("/boards.*"))
				.build()
				.apiInfo(metadata());
	}
}

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException

해결방법 : 

Spring boot 2.6버전 이후에 spring.mvc.pathmatch.matching-strategy 값이 ant_apth_matcher에서 path_pattern_parser로 변경되면서 몇몇 라이브러리(swagger포함)에 오류가 발생한다고 하네요.

application.yml or application.properties에 아래 설정을 추가하면 오류가 발생 안합니다.

 

spring:

  mvc:

    pathmatch:

      matching-strategy: ant_path_matcher

 

spring.mvc.pathmatch.matching-strategy = ant_path_matcher

728x90
반응형