Java Spring Swagger различные API документации - PullRequest
0 голосов
/ 14 января 2019

У меня есть приложение Spring, где я использовал два остальных интерфейса для использования. Один для внутренних разработчиков, другой для клиентов.

Swagger генерирует хорошую документацию, доступную по / swagger-ui.html .
Под этим URL отображается документация как для внутренних, так и для внешних пользователей.

Вот моя настройка кода:

import org.springframework.boot.info.BuildProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2UiConfiguration extends WebMvcConfigurerAdapter {

    @Bean(name="restInternalSwaggerApi")
    public Docket internalApi(BuildProperties build) {
        final Docket docket = new Docket(DocumentationType.SWAGGER_2)
            .groupName( "internal" )
            .select()
                .apis( RequestHandlerSelectors.basePackage("com.xyz.web.internal") )
            .build();
        return docket;
    }

    @Bean(name="restPublicSwaggerApi")
    public Docket publicApi(BuildProperties build) {
        final Docket docket = new Docket(DocumentationType.SWAGGER_2)
            .groupName( "public" )
            .select()
                .apis( RequestHandlerSelectors.basePackage("com.xyz.web.public") )
            .build();
        return docket;
    }
}

Теперь я хочу отделить эти документированные документы. Так что наши внутренние разработчики получают к нему доступ
/ document / private / swagger-ui.html и
/ документы / государственные / апи-v1.html

Оба не видят друг друга. Как это сделать?

Я нашел здесь несколько подсказок, но они действительно не были конструктивными для меня:

http://sp ingfox.github.io/springfox/docs/current/#q13 и связанные ресурсы
Настройка конечных точек доков с помощью Springfox Swagger
swagger несколько версий в пути
https://github.com/springfox/springfox/issues/963
https://github.com/springfox/springfox/issues/1263#issuecomment-210839308

Если бы кто-то дал мне надлежащую документацию, я тоже был бы счастлив.
Дайте мне знать, если вопрос трудно понять и как его улучшить.

для информации о версии на Java Maven:

<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>

<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>

Другими словами:

Я хочу, чтобы различные API, доступные DropDown-Box, вызывались по разным URL:

enter image description here

Мне нужно это, чтобы я мог дать клиенту другой URL-адрес с другим API, чем для предоставления другого URL-адреса моим коллегам-разработчикам.

...