Spring-Boot中结合Swagger-UI实现在线接口文档

1.Swagger是什么?

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。(ps:来源于网上)

简单来说:Swagger就是一个接口可视化文档,它是在线的,在我们进行前后端分离开发的时候,方便前端人员与后端人员开发;减少因为接口约定不一致的原因而多做的工作量。

2.怎么去使用Swagger?

其实Swagger的使用很简单,只需要简单的几步就可以使用了。ps:这里使用Swagger是结合Spring-Boot的使用。

2.1 导入swagger所使用的依赖

 <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>

        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.19</version>
        </dependency>

2.2 添加一个Swagger的配置类


@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi(){
        return  new Docket(DocumentationType.SWAGGER_2)
                .groupName("hello")
                //接口文档的信息
                .apiInfo(api())
                .select()
                //要扫描的Controller包的位置
                .apis(RequestHandlerSelectors.basePackage("com.example.wangwang.controller"))
                .paths(PathSelectors.any())
                .build();

    }

    private ApiInfo api() {
        return  new ApiInfoBuilder()
                .title("Spring-Boot中结合Swagger的使用")
                .description("没什么可描述的")
                .termsOfServiceUrl("www.baidu.com")
                .version("1.0.0")
                .build();
    }

}

2.3 在Controller中填写Api的信息

常用注解

  • @Api:用于修饰Controller类,生成Controller相关文档信息
  • @ApiOperation:用于修饰Controller类中的方法,生成接口方法相关文档信息
  • @ApiParam:用于修饰接口中的参数,生成接口参数相关文档信息
  • @ApiModelProperty:用于修饰实体类的属性,当实体类是请求参数或返回结果时,直接生成相关文档信息
@RestController
@Api(tags = "TestController",description = "测试接口")
public class TestController {



    @RequestMapping(value = "getUserInfo",method = RequestMethod.GET)
    @ApiOperation("获取某用户的信息")
    public String  showAlluser(){
        //这里就不写业务代码了
        return  "hello";
    }
    @ApiOperation("更新用户信息")
    @RequestMapping(value = "updateUser",method = RequestMethod.POST)
    public void updateUser(TbUser user){
        //这里就不写业务代码了
    }

}

运行项目

访问接口文档的地址:

http://localhost:8080/swagger-ui.html#/

在这里插入图片描述
在这里插入图片描述
ps:当某接口的参数是一个实体类 可以加上@ApiModelProperty这个注解来描述相关的信息。

例如:在这里插入图片描述
实体类:在这里插入图片描述
完~~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值