软件编程
位置:首页>> 软件编程>> java编程>> SpringBoot使用swagger生成api接口文档的方法详解

SpringBoot使用swagger生成api接口文档的方法详解

作者:程序员布欧  发布时间:2021-10-22 18:11:48 

标签:SpringBoot,swagger,接口文档

前言

在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档

具体可以查看本站spring boot系列文章:

spring boot项目使用mybatis-plus代码生成实例

具体例子

maven配置

在使用之前,我们需要添加swagger中maven相关依赖配置

<!--swagger 接口说明文档框架-->
<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>

项目application.yml配置

swagger:
 basePackage: com.lewyon.mybatislewyon #包名
 title: 标题  #标题
 description: lewyon #描述
 version: V1.0  #版本号

以上配置包含了swagger文档展示的包名,标题以及描述,版本号等信息

springApplication添加swagger注解

在springApplication添加swagger注解之后,项目启动时,会注入swagger相关配置和代码,

项目启动成功之后

服务地址/swagger-ui.html就是当前swagger文档地址

当前项目是:http://localhost:8080/swagger-ui.html

package com.lewyon.mybatislewyon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

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

}

在控制层添加swagger注解

Api 常用于描述当前Rest的模块信息

ApiOperation 则是当前方法的信息

package com.lewyon.mybatislewyon.user.controller;

import com.lewyon.mybatislewyon.user.entity.User;
import com.lewyon.mybatislewyon.user.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
* <p>
* 前端控制器
* </p>
*
* @author lewyon
* @since 2022-06-25
*/
@RestController
@RequestMapping("/user")
@Api(value = "用户", tags = {"用户操作"})
public class UserController {
   @Autowired
   UserService userService;

@GetMapping("/list")
   @ApiOperation("用户列表")
   public List<User> listUser() {
       return userService.list();
   }

@GetMapping("/getUser/{userId}")
   @ApiOperation("用户详情")
   public User getUserById(@PathVariable long userId) {
       return userService.getById(userId);
   }

@GetMapping("/updateUser/{user}")
   @ApiOperation("更新用户")
   public boolean updateUserById(User user) {
       return userService.updateById(user);
   }

@GetMapping("/addUser/{user}")
   @ApiOperation("新增用户")
   public boolean addUser(User user) {
       return userService.save(user);
   }

@GetMapping("/deleteUser/{id}")
   @ApiOperation("删除用户")
   public boolean delUserById(String id) {
       return userService.removeById(id);
   }

}

来源:https://www.cnblogs.com/akari16/p/16790828.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com