Swagger2 demo

本文介绍如何在Java项目中利用Swagger2快速创建API文档,包括依赖引入、配置文件编写和关键注解的使用,提升开发者效率。

为了减少程序员撰写文档,提高生产力,swagger2应运而生,使用swagger2可以减少便携过多的文档,只需要通过代码就能生成api文档,非常方便。(代码取自慕课网:java架构师课程)

步骤

  1. 引入依赖
<!-- swagger2 配置 -->
<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger2</artifactId>
		<version>2.4.0</version>
</dependency>
<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger-ui</artifactId>
		<version>2.4.0</version>
</dependency>
<dependency>
		<groupId>com.github.xiaoymin</groupId>
		<artifactId>swagger-bootstrap-ui</artifactId>
		<version>1.6</version>
</dependency>
  1. 文档标题和简介编写
    创建配置类Swagger2
@Configuration
@EnableSwagger2
public class Swagger2 {
    // http://localhost:8088/swagger-ui.html  原路径
    // 配置swagger2核心配置
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2) // 指定api类型为swagger2
                .apiInfo(apiInfo()) // 用于定义api文档汇总信息
                .select()
                .apis(RequestHandlerSelectors.basePackage("work.jimmmy.foodie.controller")) // 指定controller的包
                .paths(PathSelectors.any()) // 所有controller
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("天天吃货 电商平台api") // 文档页标题
                .contact(new Contact("imooc",
                        "https://www.imooc.com",
                        "abc@imooc.com"))
                .description("转为天天吃货提供的api文档")
                .version("1.0.1")
                .termsOfServiceUrl("https://www.imooc.com")
                .build();
    }
}

在这里插入图片描述

  1. 常用注解
@ApiIgonre 
// 当前类的所有方法,不在文档中显示

@Api  // 用于修饰controller对象
// 例:  - value: 值		- tags:显示的tab名
@Api(value = "注册登录", tags = {"用于注册登录的相关接口"})

@ApiOperation  // 用于controller对象中的方法
// 例: value - 接口名称   notes - 接口说明
@ApiOperation(value = "用户名是否存在", notes = "用户名是否存在", httpMethod = "GET")

@ApiParam // 用于controller对象的方法中的参数
// 例:name - 参数名(parameter)  value - 描述
@RequestBody @ApiParam(name = "userBo", value = "用户模型", required = true) UserBo userBo

@ApiModel // 用于修饰模型类
// 例: - value 对象类型
@ApiModel(value = "用户对象BO", description = "从客户端,由对象传如的数据封装在此entity中")

@ApiModelProperty
// 例:- value 说明, - name 参数名称  - example 调试中的默认值
@ApiModelProperty(value = "用户名", name = "username", example = "imooc", required = true)

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值