Настройте конечные точки докетов с помощью Springfox Swagger

Я искал в Интернете, как настроить конечные точки моих нескольких докетов, но не нашел ответа.

В моем модуле есть несколько API. Я хочу создать документацию Swagger для разных конечных точек, каждая из которых расположена в корне соответствующего API. Например :

  • локальный: 8080 / v1 / подписки / документ

  • локальный: 8080 / v1 / buckets / doc

Я нашел только один способ иметь разные конечные точки для своих досье, но URL-адрес не соответствует тому, что я хочу. Они есть :

  • localhost: 8080 / doc? group = подписки

  • локальный: 8080 / документ? группа = ведра

Вот мой файл конфигурации Swagger

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

@Value("${info.version}")
private String version;

@Bean
public Docket subscriptionsApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .groupName("subscriptions")
            .apiInfo(subscriptionsApiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.mymodule"))
            .paths(PathSelectors.ant("/v1/subscriptions/**"))
            .build();
}

@Bean
public Docket bucketsApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .groupName("buckets")
            .apiInfo(bucketsApiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.mymodule"))
            .paths(PathSelectors.ant("/v1/buckets/**"))
            .build();
}

private ApiInfo subscriptionsApiInfo() {
    return new ApiInfoBuilder()
            .title("Subscriptions Api definition")
            .description("Subscriptions Api definition")
            .version(version)
            .build();
}

private ApiInfo bucketsApiInfo() {
    return new ApiInfoBuilder()
            .title("Bucket Api definition")
            .description("Bucket Api definition")
            .version(version)
            .build();
}
}

И в моем файле application.yml я написал:

springfox.documentation.swagger.v2.path: "/doc"

Вы знаете, как определить конечные точки так, как я хочу?

заранее спасибо


person salidou    schedule 31.05.2017    source источник


Ответы (1)


Я нашел ответ!

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {


@Override
public void addViewControllers(ViewControllerRegistry registry) {

    registry.addRedirectViewController("/v1/subscriptions/doc", "/doc?group=subscriptions");


}
}
person salidou    schedule 31.05.2017
comment
у меня не работает. / doc? group = путь подписок неизвестен. - person Dirk Schumacher; 14.01.2019
comment
@DirkSchumacher doc часть URL-адреса исходит от springfox.documentation.swagger.v2.path: "/doc". group=xxx исходит из .groupName("xxx"). У вас есть правильные значения в вашей конфигурации? - person Ena; 16.01.2019