#java #spring #spring-boot #swagger #springfox
#java #spring #весенняя загрузка #swagger #springfox
Вопрос:
У меня есть загрузочное приложение Spring, которое использует swagger-ui для предоставления своих API. Теперь, пока я не использовал springfox-swagger-ui версии 2.6.1, мой код работал должным образом. Но когда я обновил версию до 2.7.0, она выдает ошибку о том, что метод ApiInfo устарел. Кто-нибудь может подсказать мне альтернативу, которая изменит существующий код как можно меньше и успешно запустит приложение с информацией, которая все еще присутствует в пользовательском интерфейсе Swagger в качестве описания. Я привожу здесь существующий код конфигурации swagger…
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2)
.useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.basePackage("com.xyz.abc"))
.paths(regex("/api.*"))
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfo(
"My-Project Api",
"Api for My Project",
"V1",
"NA terms of service url",
new Contact("Team Name", "www.somexyzteamcontact.com, "NA"),
"A license given",
"NA");
}
}
И зависимость gradle для swagger, которую я использовал в своем проекте:
compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.7.0'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.7.0'
Комментарии:
1. верните новую папку (DocumentationType.SWAGGER_2) .useDefaultResponseMessages(false) .select() .api(RequestHandlerSelectors.basePackage(«com.xyz.abc»)) .paths(regex(«/api.*»)) .build() .tags(новый тег(«Служба домашних животных», «Все API, относящиеся к домашним животным»));
2. Он принимает два аргумента одновременно и не отображает описание на странице пользовательского интерфейса.
Ответ №1:
Попробуйте следующее, используя ApiInfoBuilder для сборки API
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("API Reference").version("1.0.0")
.description("something")
.build();
}