Swagger

5 篇文章 0 订阅
3 篇文章 0 订阅

一、Swagger简介

1.1 前后端分离时代

  • 前后端分离

Vue+SpringBoot

后端时代:

  • 前端只用管理静态页面;html属于后端负责,模板引擎JSP也归于后端的主力部分;

前后端分离时代:

  • 后端:后端控制层,服务层,数据访问层【后端团队】;
  • 前端:前端控制层,视图层【前端团队】

        1)伪造后端数据,json。已经存在,不需后端,前端工程依旧可以跑起来。

  • 前后端如何交互?API
  • 前后端相对独立,松耦合;
  • 前后端甚至可以部署在不同的服务器上;

1.2 存在问题

  • 产生一个问题
  • 前后端集成联调,前端人员和后端人员无法做到“及时协商,尽早解决”,最终导致问题集中爆发;
  • 解决方案
  • 制定schema(计划提纲),实时更新最新API,降低集成的风险;
  • 早期制定word计划文档;
  • 前后端分离:

        1)前端测试后端接口:postman

        2)后端提供接口,需实时更新最新的消息及改动!

1.3 Swagger

Swagger是世界上最流行的API框架!

  • Restful Api文档在线自动生成工具,Api文档与Api定义同步更新;
  • 直接运行,可以在线测试APi接口;
  • 支持多种语言:(Java,PHP)

在项目中使用swagger需引入SpringBox:

  • swagger2
  • ui

二、SpringBoot集成Swagger

2.1 新建一个springboot项目

  • 创建一个web项目
  • 导入相关依赖
<!-- swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<!-- ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
  • 创建HelloController工程
@RestController
public class HelloController {

    @RequestMapping(value="/hello")
    public String hello(){
        return "hello";
    }
}
  • 配置Swagger-使用Config
@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {
    
}
  • 测试

访问:http://localhost:8080/swagger-ui.htmlicon-default.png?t=M0H8http://localhost:8080/swagger-ui.html

注意导入的swagger版本不要最新的,不然不会显示这个页面!

 2.2 配置Swagger

@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {

    //配置swagger的docket的bean实例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo());
    }

    //配置swagger信息=apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact=new Contact(
                "小陈", "https://www.csdn.net/", "1234244@qq.com");
        return new ApiInfo(
                "XiaoChen的SwaggerAPi文档",
                "仰望星空,脚踏实地",
                "v1.0",
                "https://www.csdn.net/",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()
        );
    }
}

2.3 Swagger配置扫描接口

  • Docket.select( )
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .enable(false) //是否启动swagger,若为false则不能在浏览器中访问
                .select()
                //RequestHandlerSelectors配置要扫描接口的方式
                //basePackage:指定要扫描的包 
                // any(扫描全部),none(不扫描),
                // withClassAnnotation(扫描类上的注解) 
                //withMethodAnnotation(扫描方法上的注解)
                .apis(RequestHandlerSelectors
                .basePackage("com.xsbc.swagger.controller"))
                //paths() 过滤什么路径
                .paths(PathSelectors.ant("/xsbc/**"))
                .build();
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路上的追梦人

您的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值