zoukankan      html  css  js  c++  java
  • SpringBoot学习笔记:Swagger实现文档管理

    SpringBoot学习笔记:Swagger实现文档管理

    Swagger

      Swagger是一个规范且完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。Swagger的目标是对REST API定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力

    集成Swagger管理API文档

    项目中集成Swagger

      首先是添加swagger的依赖:

    <!--swagger-spring-boot-starter -->
    <dependency>
        <groupId>com.spring4all</groupId>
        <artifactId>swagger-spring-boot-starter</artifactId>
        <version>1.9.0.RELEASE</version>
    </dependency>
    

      接着,在启动类中添加@EnableSwagger2Doc注解开启Swagger,如下:

    @EnableSwagger2Doc
    @SpringBootApplication
    public class Application {
    
        public static void main(String[] args) {
            SpringApplication.run(CodeHelperApplication.class, args);
        }
    }

    使用Swagger生成文档

      Swagger通过注解来生成对应的API,在接口上我们需要加上各种注解来描述这个接口,如

        @ApiOperation(value = " 查找城镇列表 ")
        @ApiResponses({@ApiResponse(code = 200,message = "OK",response = String.class)})
        @RequestMapping(value = "getTownInfoList.do", method = RequestMethod.POST)
        public List<String> getTownInfoList() {
            try {
                return studentMapper.getListGroup("stu_town");
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    

      在这里我们使用到了两个注解:

    • @ApiOperation用在方法上,说明方法的作用,添加notes属性可以详细描述接口信息。
    • @ApiResponses用在方法上,说明接口响应的一些信息;@ApiResponses封装了多个@ApiResponse,来为不同的响应码设置不同响应信息。

    在线测试接口

      通过 服务器地址:port/swagger-ui.html 来访问Swagger服务,其界面如下:

      

      找到刚刚描述的方法,可以查看接口详情,以及尝试接口调用。  

      

    Swagger注解

      本节主要描述一些常用的生成接口文档的注解,上面介绍过的就不说了

    @Api

      用在类上,说明该类的作用.

    @Api(tags = {"学生信息接口"})
    @RestController
    public class StudentController {
      ...  
    }

    @ApiModel

      用在类上,表示对参数类进行说明。

    @ApiModel(value = "com.ms.qiandao.model.StudentModel",description = "新增用户参数")
    public class StudentModel {
        private Integer stu_id;
        private String stu_name;
        private String stu_sex;
        ...  
    }

    @ApiModedlProperty

      用在字段上,表示对参数类中的字段进行说明。

    @ApiModel(value = "com.ms.qiandao.model.StudentModel",description = "新增用户参数")
    public class StudentModel {
        @ApiModelProperty(value = "学生ID")
        private Integer stu_id;
        @ApiModelProperty(value = "学生姓名")
        private String stu_name;
        @ApiModelProperty(value = "学生性别")
        private String stu_sex;
        ...  
    }
    

    @ApiParam

      用于对Controller方法中的参数进行说明。

    @RequestMapping("cancel.do")
    public RegisterCode getById(@ApiParam(value = "学生id",required = true) Integer id) {
       ...
    }

    @ApilmplicitParam和@ApilmplicitParams

      用于方法上,为单独的请求参数进行说明,和@ApiParam差不多,只不过是写在方法上面

    参考资料

  • 相关阅读:
    EMES信息化制造系统的概念
    正则表达式校验日期、时间
    c#怎么string转化成ascii码
    C#实现将一个字符串进行翻转显示的6种方法,数组的 Reverse()反转方法
    把一个十六进制的字符串(包含0x或0X)转化成对应的数值 ASCII码
    为什么0-9转化成字符是+0x30,11转化成A是+0x37?
    oracle修改数据库字段长度
    表添加字段的SQL语句写法
    在数据表中添加一个字段的SQL语句怎么写-百度
    oracle创建表增加字段sql脚本,字段说明注释
  • 原文地址:https://www.cnblogs.com/MrSaver/p/11546403.html
Copyright © 2011-2022 走看看