2016-07-21 12 views
3

Spring MVCを使用してREST呼び出しを処理するアプリケーションがあり、コントローラがRESTコントローラであり、@RestControllerという注釈が付けられており、コントローラとそのメソッドに@RequestMappingという注釈が付けられています。Swagger Springfox設定の問題

私はSwaggerを追加して、既存のRESTサービスのドキュメントを生成しようとしています。私は、それがどのように見えるかを見るためのテストとして1つ追加しようとしています。 springfoxuiライブラリを追加し、spring context xmlファイルにswagger configクラスとbean定義を追加しました。私はswagger-ui.htmlのリンクを打つことができますが、ドキュメントをまったく生成していません。疎なドキュメンテーションのため、私は何が間違っているのか誤って構成されているのか分かりません。

誰かが私が間違って行ったかもしれないことや、これまでに見つけたものよりも良い文書をいくつか提案できますか?

私は、私のPOMファイルにspringfox-swagger2と関連したUIのエントリを追加したこの追加:これらのクラスのための2つの新しいBean定義と一緒に、私の春のファイルに を:

@Configuration 
@EnableSwagger2 
public class ApplicationSwaggerConfig { 

    @Bean 
    public Docket api() { 
     return new Docket(DocumentationType.SWAGGER_2) 
       .select() 
       .apis(RequestHandlerSelectors.any()) 
       .paths(PathSelectors.any()) 
       .build(); 
    } 

} 

@EnableWebMvc 
public class SwaggerConfiguration extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("swagger-ui.html") 
       .addResourceLocations("classpath:/META-INF/resources/"); 

     registry.addResourceHandler("/webjars/**") 
       .addResourceLocations("classpath:/META-INF/resources/webjars/"); 
    } 

} 

私が定義しようとしました私の春xmlで2番目のクラスの豆が、それはどちらも動作しませんでした。私は困惑している。私はドキュメンテーションが言ったことをしたし、それは動作していません。何か案は?

+0

で闊歩サービスの説明を見ることができることを確認し

  • (これを書いている時点で、それは2.6.0です)最新のライブラリのバージョンを使用していることを確認してくださいweb.xmlの内容、またはweb.xmlを使用していない場合は、WebApplicationInitializerを提供してください。 – marians27

  • 答えて

    0

    springfoxのマニュアルはhereです。あなたの投稿から、以下を行う必要があるようです。

    @Override 
        public void addViewControllers(ViewControllerRegistry registry) { 
    
          registry.addRedirectViewController("/documentation/v2/api-docs", "/v2/api-docs?group=restful-api"); 
          registry.addRedirectViewController("/documentation/swagger-resources/configuration/ui","/swagger-resources/configuration/ui"); 
          registry.addRedirectViewController("/documentation/swagger-resources/configuration/security","/swagger-resources/configuration/security"); 
          registry.addRedirectViewController("/documentation/swagger-resources", "/swagger-resources"); 
        } 
    
        @Override 
        public void addResourceHandlers(ResourceHandlerRegistry registry) { 
          registry 
            .addResourceHandler("/documentation/swagger-ui.html**") 
            .addResourceLocations("classpath:/META-INF/resources/swagger-ui.html"); 
          registry 
            .addResourceHandler("/documentation/webjars/**") 
            .addResourceLocations("classpath:/META-INF/resources/webjars/"); 
        } 
    

    NOTE以下のようにそれはあなたの春のアプリケーションで読み込むことができるように:あなたは春のブートアプリケーションを持っている場合、これは必要ありません。

    • 提供してくださいあなたはhttp(s)://your-host/context-path/v2/api-docs