以下是一个使用Spring Boot和Springfox来创建OpenAPI文档的示例代码:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableSwagger2
public class OpenApiApplication {
public static void main(String[] args) {
SpringApplication.run(OpenApiApplication.class, args);
}
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.api")) // 指定API包路径
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("API文档")
.description("这是一个示例API文档")
.version("1.0")
.build();
}
}
在上面的例子中,我们使用了Spring Boot和Springfox的依赖来创建OpenAPI文档。通过@SpringBootApplication
注解,我们创建了一个Spring Boot应用程序。使用@EnableSwagger2
注解启用Swagger支持。
通过@Bean
注解创建了一个Docket
bean,该bean用于配置Swagger文档的生成规则。我们可以通过apis
方法来指定要包含在文档中的API的包路径,通过paths
方法来指定要包含的API的路径。在这个例子中,我们将所有的API都包含在文档中。
apiInfo
方法用于设置文档的标题、描述和版本等信息。在上面的例子中,我们使用了一些示例信息。
最后,通过调用SpringApplication.run
方法来启动应用程序。在应用程序启动后,您可以访问http://localhost:8080/swagger-ui.html
来查看生成的OpenAPI文档。