2017-05-31 6 views
2

私は複数のドックのエンドポイントをカスタマイズする方法をインターネットで検索しましたが、その答えは見つかりませんでした。springfoxで壁紙のエンドポイントをカスタマイズするSwagger

私のモジュールにはいくつかのAPIがあります。私は、それぞれの対応するAPIのルートに位置する異なるエンドポイント上でSwaggerのドキュメントを生成したいと考えています。たとえば:

  • はlocalhost:8080/V1 /サブスクリプション/ docに

  • はlocalhost:8080/V1 /バケツ/私が見つけた

docの唯一の方法は、別のを持っています私の口座のエンドポイントは、URLは私が欲しいものに対応していません。それらは:8080/DOCグループ=サブスクリプション

  • はlocalhost:localhostの

    • ?ここでは8080/docのグループ=バケット

    は私の闊歩設定ファイル

    @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" 
    

    あなたが望む方法でエンドポイントを定義する方法を知っていますか?

    ありがとうございます。

  • 答えて

    1

    私は答えを見つけました!

    @Configuration 
    @EnableWebMvc 
    public class WebConfig extends WebMvcConfigurerAdapter { 
    
    
    @Override 
    public void addViewControllers(ViewControllerRegistry registry) { 
    
        registry.addRedirectViewController("/v1/subscriptions/doc", "/doc?group=subscriptions"); 
    
    
    } 
    } 
    
    関連する問題