IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> spring boot 集成springfox,使用swagger对 API 接口进行测试管理的 demo 示例 -> 正文阅读

[Java知识库]spring boot 集成springfox,使用swagger对 API 接口进行测试管理的 demo 示例

1. 描述

一个springboot项目集成 springfox 3.0,使用swagger对 API 接口进行测试管理的 demo示例。

环境:

IDE(idea)2021.3
JDK:1.8
maven:3.8.4
spring boot:2.5.6
springfox:3.0.0

2. 结果

  • 页面访问:http://localhost:8880/demo/swagger-ui/index.html
    在这里插入图片描述

3. demo

3.0 项目结构
在这里插入图片描述

3.1 pom.xml

  • 引入 springfox jar包
        <!-- springfox 3.X API doc框架, eg: swagger功能 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>

3.2 SpringBootApplication 注解实现启动类

@SpringBootApplication
public class DemoSwaggerUiApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoSwaggerUiApplication.class, args);
        System.out.println("----- http://localhost:8880/demo/ -----");
        System.out.println("----- http://localhost:8880/demo/swagger-ui/index.html -----");
    }
}

3.3 application.yml配置

server:
  port: 8880
  servlet:
    context-path: /demo

3.4 其他代码

  • Swagger3Config.java
@Configuration
@EnableOpenApi
public class Swagger3Config {

    @Bean
    public Docket defaultApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("default-api")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.demo.swagger.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        String swaggerUrl = "http://localhost:8880/demo/swagger-ui/index.html";
        return new ApiInfoBuilder()
                .title("Swagger UI API")
                .description("Swagger UI API 的一个demo示例")
                .termsOfServiceUrl("http://localhost:8880/demo")
                .contact(new Contact("byrc", swaggerUrl, "best54288@163.com"))
                .license("Apache License Version 2.0")
                .licenseUrl("https://github.com/springfox/springfox/blob/master/LICENSE")
                .version("1.0.0")
                .build();
    }
  • UserController .java
@Slf4j
@RestController
@RequestMapping("/user")
@Api(tags = "用户管理")
public class UserController {

    @GetMapping("/{id}")
    @ApiOperation(value = "主键查询", notes = "通过主键查询用户")
    public JsonResponse<User> get(@PathVariable @ApiParam("用户id") Integer id) {
        return JsonResponse.ok(new User(id, "白玉京", 23));
    }

    @DeleteMapping("/{id}")
    @ApiOperation(value = "删除用户", notes = "通过主键删除用户")
    public JsonResponse<String> delete(@PathVariable Integer id) {
        log.info("删除用户 {}", id);
        return JsonResponse.ok();
    }

    @PostMapping
    @ApiOperation(value = "添加用户")
    public JsonResponse<User> post(@RequestBody User user) {
        return JsonResponse.ok(user);
    }
}

4. 资料

5. 注

  • spirng boot 已在父项目引入(父项目pom.xml配置);
  • 部分jar包版本已在父项目管理(如果对应不上,一定、肯定、决定是某些修改,没同步更新文档)。
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:22:50  更:2022-03-22 20:24:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:15:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码