SpringBoot-swagger

SpringBoot整合swagger

  1. SpringBoot-swagger

13.1 导入相关依赖


        io.springfox
        springfox-swagger-ui
        2.9.2

        io.springfox
        springfox-swagger2
        2.9.2

        org.springframework.boot
        spring-boot-starter-web

        org.springframework.boot
        spring-boot-starter-test
        test

13.2 编写Swagger配置类

文件路径:com–dzj-config–SwaggerConfig.java

@Configuration
@EnableSwagger2  //开启Swagger2
public class SwaggerConfig {
    // 配置swagger Docket的bean实例,可以配置多个
    @Bean
    public Docket docket(Environment environment) {

        //设置要显示的swagger环境
        Profiles profiles = Profiles.of("dev", "test");
        //通过environment.acceptsProfiles()判断当前环境是否处于设定的环境中
        boolean flag = environment.acceptsProfiles(profiles);
        System.out.println("当前测试环境--->" + flag);
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .enable(flag) //是否启动Swagger,默认为true
                .groupName("dengzj")
                .select()
                /*
                    RequestHandlerSelectors,配置要扫描接口的方式
                    basePackage("com.dzj.controller"):指定要扫描的包
                    any():扫描所有
                    none():不扫描
                    withClassAnnotation(GetMapping.class):扫描类上的注解
                    withMethodAnnotation(GetMapping.class):扫描方法上的注解
                 */
                .apis(RequestHandlerSelectors.basePackage("com.dzj.controller"))
                //paths(PathSelectors.ant("/dzj/**")) 过滤请求的路径
                //.paths(PathSelectors.ant("/hello/**"))
                .build();
    }

    //配置Swagger信息,apiInfo
    private ApiInfo apiInfo() {
        Contact contact = new Contact("dengzj", "https://www.cnblogs.com/aadzj/", "aadzj@qq.com");
        return new ApiInfo(
                "Dengzj的SwaggerApi文档",
                "认真却不怂",
                "v1.0",
                "https://www.cnblogs.com/aadzj/",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }
    @Bean
    public Docket docket1() {
        return new Docket(DocumentationType.SWAGGER_2).groupName("A");
    }

    @Bean
    public Docket docket2() {
        return new Docket(DocumentationType.SWAGGER_2).groupName("B");
    }

    @Bean
    public Docket docket3() {
        return new Docket(DocumentationType.SWAGGER_2).groupName("C");
    }
}

13.3 编写实体类

文件位置:com–dzj–pojo–User.java

@ApiModel("用户实体类")  //注释
public class User {

    @ApiModelProperty("用户名") //注释
    public String username;
    @ApiModelProperty("密码")  //注释
    public String password;

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

13.4 编写测试接口

文件位置:com–dzj–controller-HelloController.java

@Api(tags = "hello控制类")  //注释类名
@RestController
public class HelloController {

    @ApiOperation("hello接口")  //注释接口名
    @GetMapping(value = "/testHello")
    public String testHello() {
        return "hello";
    }

    // 只要我们接口中的返回值有实体类,它就会被扫描到swagger中
    @ApiOperation("扫描实体类测试接口")
    @PostMapping("/testUser")
    public User testUser() {
        return new User();
    }

    @ApiOperation("测试testRestful接口")
    @GetMapping("/testRestful/{username}")
    public String testRestful(@ApiParam("用户名") @PathVariable("username") String username) {
        return "username:" + username;
    }

    @ApiOperation("测试testPost接口")
    @PostMapping("/testPost")
    public User testPost(User user) {
        return user;
    }
}

13.5 编写配置文件

  • application.properties
spring.profiles.active=dev
  • application-dev.properties
  • application-pro.properties
  • application-test.properties

13.6 访问测试

访问路径: http://localhost:8080/swagger-ui.html

SpringBoot-swagger

接口以及实体类信息

SpringBoot-swagger

Original: https://www.cnblogs.com/aadzj/p/15636826.html
Author: 小公羊
Title: SpringBoot-swagger

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612321/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 魔域来了H5游戏详细图文架设教程

    前言 想体验热血传奇的战场吗?想体验满级VIP的尊贵吗?想体验榜一大佬的无敌寂寞吗?各种极品炫酷时装、坐骑、翅膀、宠物通通给你,就在魔域来了H5! 本文讲解魔域来了架设教程,想研究…

    Linux 2023年6月7日
    0104
  • 网卡的RX Ring和TX Ring

    1 简介 环形缓冲(ring buffer)是NIC处理数据包的一种通用数据结构,出现的原因是现代NIC基本使用DMA进行数据传输,作为一种高效简单[1]的数据结构,环形缓冲很 适…

    Linux 2023年6月7日
    093
  • Linux 文件查看命令

    文件查看命令 1、cat:从第一行开始显示文件内容 使用方式:cat 文件 或 文件路径 例如:cat ifcfg-eth0 或 cat /etc/sysconfig/networ…

    Linux 2023年6月14日
    092
  • MySQL备份与恢复

    MySQL备份与恢复 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。 数据丢失的场景举例: 人…

    Linux 2023年6月7日
    0163
  • 列表初始化

    C++11将列表初始化(大括号初始化)作为一种通用的初始化方式.可用于所有类型. 数组以前就可以用列表初始化,但 C++11 中的列表初始化新增了一些功能: 初始化数组时,可省略等…

    Linux 2023年6月13日
    066
  • 【PHP代码审计】TP3.2某传销系统getshell

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/sevck/p/16547738.htmlAuthor:…

    Linux 2023年5月28日
    087
  • POJ3071(Football)–概率DP

    题意:有(1< en….网上当然也后不少解题报告,但是很多直接给出状态转移方程和贴出代码,而少了其中重要的推断过程,我觉得不是很好。所以自己给写一个较为详细的过程…

    Linux 2023年6月7日
    098
  • shell脚本执行错误:#!/bin/bash: No such file or directory

    1、问题描述: 执行.sh脚本时控制台报错 : #!/bin/bash: No such file or directory 2、解决办法: cat -A 文件路径 会发现第一行有…

    Linux 2023年5月28日
    0241
  • QLabel图片自适应

    故事背景:由于要做终端定制的需求,在服务端上传一张128像素的图片,下发给客户端,适配所有图标(界面左上角、任务栏、快捷方式、托盘等),但是由于每个位置的图标大小不一样,代码要根据…

    Linux 2023年6月13日
    075
  • 辗转相除法:(求最大公约数)

    辗转相除法:(最大公约数)又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除…

    Linux 2023年6月7日
    0106
  • 上篇:Go函数的骚包玩法有哪些

    1. 用type关键字可以定义函数类型,函数类型变量可以作为函数的参数或返回值。 package main import "fmt" func add(a, b…

    Linux 2023年6月7日
    081
  • maven安装及导入本地jar包

    一、maven的安装方法 1.去maven官网下载适合的版本 下载地址: 官方下载地址 2.下载后解压到任意目录 3.配置系统环境变量 M2_HOME ,值为maven解压后的目录…

    Linux 2023年6月14日
    0115
  • VirtualBox网络模式 宿主机无法访问虚拟机问题记录

    问题背景 最近在公司使用VirtualBox虚拟机,使用虚拟的ubuntu系统,家里的路由能使用桥接模式,然后能双向ping通(宿主机 现在经常要打开虚拟Linux跑一些脚本和编译…

    Linux 2023年6月6日
    095
  • 用动态端口,增强winrm,open sshd的,服务器安全

    前言 我开发了一套开源,免费,跨平台的devops脚本批量运维工具。【kaiiit家的饭店】是软件的正式名字。【卡死你3000】是第一版开发代号。 想要增强win被控机密码安全。可…

    Linux 2023年6月14日
    073
  • redis用法介绍

    Jedis常用方法API Redis命令用scan代替keys、smembers等命令 Java Spring 与 Redis 操作封装源码 Redis API 必杀解读:引入Re…

    Linux 2023年5月28日
    079
  • 快速掌握Linux三剑客命令使用

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球