Swagger2的基本了解和使用

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能组件,随着现在许多公司实现了前后端分离,swagger越来越受欢迎了。

[[toc]]

入门

我是怎么学swagger的呢,经过我一步一步的经验,推荐以下三个网址去学习即可:

  • 基础篇:虽然是老外写的入门,但凭我这个英语垃圾的一批的渣渣都能看懂,相信大部分人一定可以读懂!另外作者的写作风格我很喜欢,欢迎大家去看看。传送们
  • 中极篇:一篇不错的文章,从基础到配置到实现写的很详细。传送们
  • 高级篇:mall作者,我从他这学到不少东西,非常感谢!传送们

Swagger常用注解

注解说明
@Api用于修饰Controller类,生成Controller相关文档信息
@ApiOperation用于修饰Controller类中的方法,生成接口方法相关文档信息
@ApiParam用于修饰接口中的参数,生成接口参数相关文档信息
@ApiModel用于修饰Model实体类
@ApiModelProperty用于修饰Model实体类的属性,当实体类是请求参数或返回结果时,直接生成相关文档信息

简单在SpringBoot中搭建Swagger文档

  • 配置完成后,通过访问http://localhost:8080/swagger-ui.html(自己的项目访问路径/swagger-ui.html)来访问接口文档就可以了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MGEn0Pg3-1593402626340)(/znote/img/swagger2/swagger2.png)]

添加依赖

<!--Swagger-UI API文档依赖-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

在SpringBoot中添加Swagger2Config配置类

@Configuration //这是一个配置类
@EnableSwagger2 //开启Swagger2的自动配置
public class Swagger2Config {

    // 配置docket以配置Swagger具体参数
    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                // 通过.select()方法,去配置扫描接口
                .select()
                // 为 指定的包下的所有controller 生成API文档
                .apis(RequestHandlerSelectors.basePackage("com.example.swaggerexample.controller"))
                // 配置如何通过 path过滤 即这里只扫描 请求以 /user开头的接口
                .path(PathSelectors.any("/user/**"))
                .build();
    }
    
    //不是刚需,按需配置
    private ApiInfo apiInfo() {
        Contact contact = new Contact("联系人名字", "http://xxx.xxx.com/联系人访问链接", "联系人邮箱");
        return new ApiInfo("Swagger学习", // 标题
                "学习演示如何配置Swagger", // 描述
                "v1.0", // 版本
                "http://terms.service.url/组织链接", // 组织链接
                contact, // 联系人信息
                "Apach 2.0 许可", // 许可
                "许可链接", // 许可连接
                new ArrayList<>()); // 扩展
    }
}

给Controller类添加Swagger注解

@Controller
@Api(tags = "OmsOrderSettingController", description = "订单设置管理")
@RequestMapping("/orderSetting")
public class OmsOrderSettingController {
    @Autowired
    private OmsOrderSettingService orderSettingService;

    @ApiOperation("获取指定订单设置")
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<OmsOrderSetting> getItem(@PathVariable Long id) {
        OmsOrderSetting orderSetting = orderSettingService.getItem(id);
        return CommonResult.success(orderSetting);
    }

    @ApiOperation("修改指定订单设置")
    @RequestMapping(value = "/update/{id}", method = RequestMethod.POST)
    @ResponseBody
    public CommonResult update(@PathVariable Long id, @RequestBody OmsOrderSetting orderSetting) {
        int count = orderSettingService.update(id,orderSetting);
        if(count>0){
            return CommonResult.success(count);
        }
        return CommonResult.failed();
    }
}

给model实体类添加Swagger注解

@ApiModel("用户实体")
public class User {
    @ApiModelProperty("用户名")
    private String username;
    @ApiModelProperty("密码")
    private String password;
	// 省略getter/setter
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值