码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • springBoot集成swagger2并使用


    导入依赖

    <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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    配置swagger

    @Configuration
    @EnableSwagger2  //开启Swagger2
    public class SwaggerConfig {
    
        //配置Docket的bean实例
        @Bean
        public Docket docket(){
            return new Docket(DocumentationType.SWAGGER_2)
                	//页面的描述信息
                    .apiInfo(apiInfo())
                    //开关Swagger 默认为true开启
                    .enable(true)
                    //设置组名
                    //若要实现多个组,则要配置多个Docket的bean实例
                    .groupName("zb")
                    .select()
                    /*apis()配置扫描接口的方式
                      basePackage()基于包扫描
                      any()扫描全部
                      none()不扫描
                      withClassAnnotation(Controller.class)扫描类上注解
                      withMethodAnnotation(GetMapping.class)扫描方法上注解*/
                    .apis(RequestHandlerSelectors.basePackage("com.zb.controller"))
                      /*paths()过滤什么路径
                      ant()只扫描这个路径下的
                      any()一个也不过滤
                      none()过滤全部
                      */
                    .paths(PathSelectors.none())
                    .build();
        }
    
        //配置Swagger信息 =>apiInfo()
        private ApiInfo apiInfo(){
            //作者信息
            Contact contact = new Contact("name","url","email");
    
            //DIY
            return new ApiInfo(
                    "Api Documentation",   //title
                    "Api Documentation",  //description
                    "1.0",  ///version
                    "urn:tos", // termsOfServiceUrl
                    contact,  //作者信息
                    "Apache 2.0",  //license
                    "http://www.apache.org/licenses/LICENSE-2.0", //licenseUrl
                     new ArrayList());
        }
    
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    接口控制类

    @Api(tags = "控制类注释")
    @RestController
    public class HelloController {
    
        @ApiOperation("接口注释")
        @RequestMapping("/hello")
        public String index(){
            return "hello";
        }
    
        //返回值存在实体类,该实体类就会被扫描进Swagger中
        @RequestMapping("/user")
        public User user(){
            return new User();
        }
    
        @RequestMapping("/param")
        public String param(@ApiParam("参数注释") String param){
            return param;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    实体类

    @ApiModel("实体类注释")
    public class User {
        @ApiModelProperty("字段名id注释")
        private int id;
        @ApiModelProperty("字段名name注释")
        private String name;
    
        public User() {
        }
    
        public User(int id, String name) {
            this.id = id;
            this.name = name;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
  • 相关阅读:
    R语言使用fs包的file_move函数对指定文件进行重命名(rename)、使用file_move函数将指定文件从一个位置拷贝(copy)到另一个位置
    QTreeView自绘实现酷炫样式
    回归预测 | MATLAB实现BO-GRU贝叶斯优化门控循环单元多输入单输出回归预测
    Direct LiDAR-Inertial Odometry
    YOLOv7优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列
    亚马逊云科技大语言模型的创新科技
    gpio模拟串口通信
    【原创】为MybatisPlus增加一个逻辑删除插件,让XML中的SQL也能自动增加逻辑删除功能
    C++ 炼气期之结构体
    【Cocos Creator 3.5实现赛车游戏】10.实现汽车节点的运动逻辑
  • 原文地址:https://blog.csdn.net/m0_46400910/article/details/125617366
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号