侧边栏壁纸
博主头像
进一步,海阔天空 博主等级

进一步,海阔天空

  • 累计撰写 140 篇文章
  • 累计创建 19 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

springboot整合swagger3自动生成API文档

海阔天空
2022-05-28 / 0 评论 / 0 点赞 / 125 阅读 / 0 字

springboot2.3.x整合swagger3的配置过程。

添加依赖

在build.gradle文件中添加swagger依赖

dependencies {
  //省略.....
implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
compile fileTree(dir: 'libs', include: [ '*.jar' ])
}

添加swagger配置类SwaggerConfig.java

代码如下:

import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
@EnableOpenApi
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Swagger API 文档实例")
                .description("版权所有@www.fitit100.com")
                .version("1.0.0")
                .build();
    }
}

这里我们指定只要加了@ApiOperation注解的都生成API文档

加入API注解

import com.fitit100.geocode.entity.AdminDivision;
import com.fitit100.geocode.response.JsonDataResult;
import com.fitit100.geocode.service.GeocodeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/rest")
@Api(tags = "城市查询Rest接口")
public class GeocodeController {
    @Autowired
    GeocodeService geocodeService;

    /**
     * 获得所有城市列表
     *
     * @return
     */
    @ApiOperation("获得所有城市列表")
    @GetMapping("/shi_list")
    public JsonDataResult shiList() {
        JsonDataResult result = new JsonDataResult();
        List<AdminDivision> list = geocodeService.findByLevel("shi");
        result.setData(list);
        result.ok("成功读取数据");
        return result;
    }
}

访问API文档

通过路径http://localhost:8080/swagger-ui/ 即可查看生成的API文档了。

0

评论区