我正在构建一个 Spring Boot 应用程序,并使用 Springfox Swagger UI 使用 Swagger UI 对其进行记录。我已经记录了所有内容,但想要自定义标题和描述,但不知道如何进行。例如,在此图中:https://springfox.github.io/springfox/docs/current/images/springfox-swagger-ui.png标题是“Springfox petstore API”,描述是Lorem Ipsum。但在我的 Swagger UI 中,标题和描述都写着“API 文档”。我尝试过使用@SwaggerDefinition注释,但它似乎没有做任何事情。
我建议您使用swagger编辑器,然后您可以使用顶部菜单中的“生成服务器”选项从API文档自动生成Spring Boot服务器。对于第一次生成 API 来说真的很棒。
如果您想从 YAML 设置,则必须在 info 部分提供此字段:
info:
version: "1.0.0"
title: My API title
description: "Awesome description"
在代码中,检查 Swagger 编辑器生成的类并将其与您的代码进行比较。您可以设置描述和标题,在 ApiInfo Builder 对象上设置相应的属性,该对象位于 SwaggerDocumentationConfig 类内部。
这里有代码:
@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,我可以更好地帮助您。
致以诚挚的问候!