我是靠谱客的博主 专一星星,最近开发中收集的这篇文章主要介绍Springboot整合SwaggerSpringBoot简单整合Swagger,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里写自定义目录标题

  • SpringBoot简单整合Swagger
    • 1、引入swagger依赖
    • 2、配置注意
    • 3、配置类
    • Swagger相关注解
    • 测试Controller

SpringBoot简单整合Swagger

1、引入swagger依赖

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

使用依赖解述:

  1. springbox 是一个通过扫描代码提取代码中的信息,生成API文档的工具;
  2. springbox-swagger2 依赖OSA规范文档(描述API的json文件),该组件能够帮助我们自动生成JSON文件
  3. 通过springbox-swagger-ui 可以将json文件解析出来;

2、配置注意

  Spring Boot 2.6及 更高版本使用的是PathPatternMatcher
而Springfox使用的路径匹配是基于AntPathMatcher的,所以更改配置如下:

spring:
  mvc:
	pathmatch:
		matching-strategy: ANT_PATH_MATCHER

3、配置类

  SwaggerConfig类上添加 Configuration 表明这是一个配置类,添加 EnableSwagger2 开启Swagger配置

@Bean
public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                // 指定构建api文档的详细信息的方法:apiInfo()
                .apiInfo(apiInfo())
                .select()
                // 指定要生成api接口的包路径,这里把controller作为包路径,生成controller中的所有接口
                .apis(RequestHandlerSelectors.basePackage("com.yang.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    

下面这个类是Swagger中接口设定相关信息

private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // 设置页面标题
                .title("Spring Boot集成 Swagger2接口总览")
                // 设置页面描述
                .description("Swagger接口页面")
                // 设置联系方式
                .contact("空山万籁," + "CSDN:http://blog.csdn.net/KS_wl")
                // 设置版本
                .version("1.0")
                // 构建
                .build();
    }

这是所需要的实体类
相关注解:
   ApiModel 注解用于实体类,表示对类进行说明,用于参数用实体类接收。
   ApiModelProperty注解用于类中属性,表示对 model 属性的说明或者数据操作更改。
简化注解
  Data注解是通过引入Lombok依赖,实现对代码的简化,减少实体属性的set与get方法,也可以直接使用Setter、Getter注解来代替。

@Data
@ApiModel(value = "用户实体类")
public class User {
    @ApiModelProperty(value = "用户唯一标识")
    private int id;
    @ApiModelProperty(value = "用户姓名")
    private String username;
    @ApiModelProperty(value = "用户密码")
    private String password;
    
}

Swagger相关注解

	@Api 注解用于类上,表示标识这个类是 swagger 的资源。
    @ApiOperation 注解用于方法,表示一个 http 请求的操作。
    @ApiParam 注解用于参数上,用来标明参数信息。

测试Controller

  RestController注解主要用于前后端分离项目,包含了Controller注解和ResponseBody注解

@RestController
@RequestMapping("/swagger")
public class TestController {

    @GetMapping("/get/{id}")
    public JsonResult<User> getUserinof(@PathVariable @ApiParam(value = "用户唯一标识") int id) {
        User user = new User(1, "张三", "123456");
        return new JsonResult(user);
    }
}

最后

以上就是专一星星为你收集整理的Springboot整合SwaggerSpringBoot简单整合Swagger的全部内容,希望文章能够帮你解决Springboot整合SwaggerSpringBoot简单整合Swagger所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部