SpringBoot 整合 Swagger 生成API

一、前言

现如今网站开发都是前后端分离的方式,而前后端唯一的联系就是通过API接口。可想而知,编写一个API是多么重要。那么怎么写API文档呢?我要用到的就是Swagger

二、什么是Swagger?

Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。就是让你可以更好书写API文档框架。相比于手写以文件保存或者一些编写软件,它更具有实时性,可以更简单迅速地写好美观的API。

三、如何把Swagger集成在项目中?

  1. 将下面的依赖添加到pom.xml文件中
  • springfox=swagger2组件帮我们自动生成描述API的json文件。
  • springfox-swagger-ui组件将这个json文件解析出来,更好的呈现出来。
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.6.1</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.6.1</version>
</dependency>
  1. 添加Swagger的配置类
  • 通过 basePackage来指定Swagger扫描的类的范围。
  • paths()是通过路径来指定Swagger扫描的类的范围,这里对所有路径监控。
@Configuration
public class SwaggerConfig {

    @Bean
    public Docket productApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.test.controller"))  //添加ApiOperiation注解的被扫描
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("swagger和springBoot整合")
                .description("swagger的API文档")
                .version("1.0")
                .build();
    }
}
  1. 在Controller类上添加@API注解,标识该类是Swagger的资源。vale-字段说明。
  • 只要在方法上添加@ApiOperation注解,表示一个http请求的操作。value-字段说明,notes-注释说明
@Api("list")
@ApiOperation(value = "商品列表",notes = "获取商品列表")
@RequestMapping("/to_list")
public String list(Model model, MiaoshaUser user){
    model.addAttribute("user",user);
        //查询商品列表
    List<GoodsVo> goodsList = goodsService.listGoodsVo();
    model.addAttribute("goodsList",goodsList);
    return "goods_list";
}
  1. 在启动类上添加@EnableSwagger2注解,运行。
@SpringBootApplication
@EnableSwagger2
public class App {
    public static void main( String[] args ) throws Exception {
        SpringApplication.run(App.class,args);
    }
}
  1. 打开浏览器,访问http://localhost:8080/swagger-ui.html,展示结果。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值