Spring Boot与Swagger的整合实例

概述

Swagger是一个强大的API文档工具,它不仅可以帮助我们设计、构建、记录,还能测试我们的API。这篇文章我会用一个简单的图书管理系统来做示例,带你一步步实现这个整合。

使用场景

假设我们正在开发一个图书管理系统,需要提供API来进行图书的增加、删除、查询和修改。我们会使用Spring Boot来快速搭建后端服务,并通过整合Swagger来生成API文档,方便前端开发者和测试人员理解和使用这些API。

业务内容

我们的图书管理系统主要有以下几个基本功能:

  1. 添加图书
  2. 删除图书
  3. 查询图书
  4. 更新图书信息

技术实现

环境准备

首先,确保你的开发环境已经安装了Java和Maven。

创建Spring Boot项目

使用Spring Initializr(https://start.spring.io/)创建一个新的Spring Boot项目,选择Web和Swagger相关的依赖。

添加依赖

pom.xml中添加Swagger的依赖:


    io.springfox
    springfox-swagger2
    2.9.2


    io.springfox
    springfox-swagger-ui
    2.9.2

配置Swagger

创建一个配置类SwaggerConfig.java来配置Swagger:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)  
          .select()                                  
          .apis(RequestHandlerSelectors.any())              
          .paths(PathSelectors.any())                          
          .build();                                           
    }
}

创建实体类

定义一个Book类,用来表示图书信息:

public class Book {
    private Integer id;
    private String title;
    private String author;

    // 省略getter和setter方法
}

创建控制器

定义一个BookController类来处理图书相关的请求:

@RestController
@RequestMapping("/books")
public class BookController {

    // 这里应该有一个服务层的实例,这里简化了

    @PostMapping
    public String addBook(@RequestBody Book book) {
        // 添加图书的逻辑
        return "图书添加成功";
    }

    @DeleteMapping("/{id}")
    public String deleteBook(@PathVariable Integer id) {
        // 删除图书的逻辑
        return "图书删除成功";
    }

    @GetMapping("/{id}")
    public Book getBook(@PathVariable Integer id) {
        // 查询图书的逻辑
        return new Book(); // 示例返回
    }

    @PutMapping("/{id}")
    public String updateBook(@PathVariable Integer id, @RequestBody Book book) {
        // 更新图书的逻辑
        return "图书更新成功";
    }
}

运行与测试

运行Spring Boot应用,然后访问http://localhost:8080/swagger-ui.html,你会看到一个漂亮的Swagger UI界面,上面列出了所有的API和相关信息。

最后说一句(求关注,求赞,别白嫖)

最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。

这是大佬写的,7701页的BAT大佬写的刷题笔记,让我offer拿到手软

本文已收录于我的技术网站,next-java.com, 有大厂完整面经,工作技术等经验分享

求一键三连:点赞、分享、收藏

点赞对我真的非常重要!在线求赞,加个关注非常感激

你可能感兴趣的:(spring,boot,后端,java)