1. 首页
  2. 考试认证
  3. 其它
  4. spring boot swagger ui Spring Boot Swagger UI集成教程

spring boot swagger ui Spring Boot Swagger UI集成教程

上传者: 2024-12-10 18:34:53上传 ZIP文件 16KB 热度 19次

Spring Boot Swagger UI 是一个基于 Java 开发的 Web 应用,整合了 Swagger 工具,使得在 Spring Boot 项目中能够方便地实现 API 接口的文档化和测试。Swagger UI 是一个用户界面,用于展示和交互 Swagger 规范定义的 RESTful API,使得开发者可以更加直观地理解和使用 API。在 Spring Boot 项目中集成 Swagger UI,首先需要引入相关的依赖。Spring Boot 提供了对 Swagger 2 的支持,通过 springfox-swagger2springfox-swagger-ui 这两个依赖库,可以快速搭建 API 文档系统。在 pom.xmlbuild.gradle 文件中添加如下依赖:


<dependency>

    <groupid>io.springfoxgroupid>

    <artifactid>springfox-swagger2artifactid>

    <version>版本号version>

dependency>

<dependency>

    <groupid>io.springfoxgroupid>

    <artifactid>springfox-swagger-uiartifactid>

    <version>版本号version>

dependency>

接下来,创建一个配置类 Swagger2Config,并使用 @EnableSwagger2 注解开启 Swagger 支持。通过 Docket 配置 API 的基本信息,如版本、分组、路径等:


@Configuration

@EnableSwagger2

public class Swagger2Config {

    @Bean

    public Docket createRestApi() {

        return new Docket(DocumentationType.SWAGGER_2)

            .apiInfo(apiInfo())

            .select()

            .apis(RequestHandlerSelectors.basePackage(\"你的包名\"))

            .paths(PathSelectors.any())

            .build();

    }



    private ApiInfo apiInfo() {

        return new ApiInfoBuilder()

            .title(\"Spring Boot Swagger UI 示例\")

            .description(\"这是一个使用 Spring Boot 和 Swagger UI 构建的 API 接口文档\")

            .version(\"1.0.0\")

            .license(\"Apache 2.0\")

            .licenseUrl(\"http://www.apache.org/licenses/LICENSE-2.0.html\")

            .build();

    }

}

配置完成后,Swagger 会自动扫描指定包下的所有控制器(Controller)及其 API 方法。每个 API 方法都可以通过 @ApiOperation 注解添加描述信息,参数使用 @ApiParam 说明。例如,假设我们有一个 UserController,其中有一个 getUser 方法:


@RestController

@RequestMapping(\"/user\")

public class UserController {

    @ApiOperation(value = \"获取用户信息\", notes = \"根据 ID 获取用户详细信息\")

    @GetMapping(\"/{id}\")

    public User getUser(@ApiParam(value = \"用户 ID\", required = true) @PathVariable Long id) {

        //返回用户信息的逻辑

    }

}

下载地址
用户评论