swagger入门

学习目标

  • 了解swagger的作用和概念
  • 了解回顾前后端分离
  • 集成Springboot

一、什么是swagger

流行的API框架,RestFul API文档在线自动生成工具,API文档与API定义同步更新,直接运行,可以在线测试接口


前后端分离:Vue + Springboot

后端时代:前端只用管理静态页面;后端的模板引擎直接渲染页面


前后端分离时代:

  • 后端:后端控制层、服务层、数据访问层
  • 前端:前端控制层、视图层
    • 伪造后端数据,json数据。已经存在的虚假数据,不需要后端的数据,也能进行项目的运行。
  • 前后端交互:
    • API
    • 前后端相对独立,耦合度低
    • 前后端可以部署到不同的服务器上
  • 出现的问题:前后端集成联调
    • 制定计划提纲,实时更新API,降低集成的风险
    • 前后端接口测试工具:postman,测试请求
    • 后端提供的接口,需要实时更新到最新

二、SpringBoot集成swagger

  • 新建SpringBoot项目
  • 导入Swagger2和Swagger-ui依赖
  • 编写Swagger配置文件
  • 测试运行 访问路径:http://localhost:8080/项目路径/swagger-ui.html

在这里插入图片描述

三、配置swagger

@Configuration
@EnableSwagger2 // Swagger的开关,表示已经启用Swagger
public class SwaggerConfig extends WebMvcConfigurationSupport {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .host("localhost:8080")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.share")) //扫描的包
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("share")
                .description("share接口文档")
                .version("0.1")
                .build();
    }

    /**
     * 解决swagger-ui.html 404无法访问的问题
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 解决静态资源无法访问
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/static/");
        // 解决swagger无法访问
        registry.addResourceHandler("/swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        // 解决swagger的js文件无法访问
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

}

多人协作开发,可以自定义扫描的包以及声明不同的模块 去区分每个人开发的接口!!!

四、swagger注解

(一)Model 实体类注解

  • @ApiModel:描述整个实体类信息
  • @ApiModelProperty:描述实体类属性信息

(二)Controller 接口注解

  • @ApiOperation:描述接口方法信息
  • @ApiParam:描述接口方法参数信息
    信息
  • @ApiModelProperty:描述实体类属性信息
  • @ApiIgnore:忽略接口中不必要暴露出来的参数(如httpSession,若该参数不进行忽略,会出现很多无关的参数,会影响接口的查阅!)

学习视频链接:【狂神说Java】一小时掌握Swagger技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值