web-dev-qa-db-ja.com

Springfoxを使用してSwaggerUIのタイトルと説明を変更する

Spring Bootアプリケーションを構築し、Springfox SwaggerUIを使用してSwaggerUIを使用してドキュメント化します。すべてが文書化されていますが、タイトルと説明をカスタマイズしたいのですが、その方法がわかりません。たとえば、この画像では次のようになります。 https://springfox.github.io/springfox/docs/current/images/springfox-swagger-ui.png タイトルは「SpringfoxpetstoreAPI」で、説明はLoremIpsumです。しかし、私のSwagger UIでは、タイトルと説明の両方に「APIドキュメント」と記載されています。 @SwaggerDefinitionアノテーションを使用しようとしましたが、何も実行されないようです。

5
faiuwle

swagger editor を使用することをお勧めします。その後、トップメニューの[サーバーの生成]オプションを使用して、APIドキュメントからSpringBootサーバーを自動生成できます。初めてAPIを生成するのに本当に最適です。

YAMLから設定する場合は、infoセクションで次のフィールドを指定する必要があります。

info:
  version: "1.0.0"
  title: My API title
  description: "Awesome description"

コードから、Swaggerエディターから生成されたクラスを確認し、コードと比較します。説明とタイトルを設定して、SwaggerDocumentationConfigクラス内にあるApiInfoBuilderオブジェクトに対応する属性を設定できます。

ここにコードがあります:

@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-10-05T14:03:51.916-03:00")

@EnableSwagger2
@Configuration
public class SwaggerDocumentationConfig {

    ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("My API Title")
            .description("Awesome description")
            .license("Apache 2.0")
            .licenseUrl("http://www.Apache.org/licenses/LICENSE-2.0.html")
            .termsOfServiceUrl("")
            .version("1.0.0")
            .contact(new Contact("", "", "[email protected]"))
            .build();
    }

    @Bean
    public Docket customImplementation() {
        return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.mypackage.api"))
            .build()
            .apiInfo(apiInfo());
    }
}

これが意味をなさない場合は、Springfoxをどのように使用しているかを知るために、コードをもう少し見せてください。

よろしく!

5
Emiliano Viotti