在之前的文章中,使用mybatis-plus生成了對應的包,在此基礎上,我們針對專案的api介面,新增swagger設定和註解,生成swagger介面檔案
具體可以檢視本站spring boot系列文章:
spring boot專案使用mybatis-plus程式碼生成範例
在使用之前,我們需要新增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>
swagger:
basePackage: com.lewyon.mybatislewyon #包名
title: 標題 #標題
description: lewyon #描述
version: V1.0 #版本號
以上設定包含了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);
}
}
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);
}
}
以上就是spring boot整合swagger生成介面檔案的例子,關於swagger更多設定,可以查閱swagger官方檔案
文章個人部落格地址:
專案原始碼地址:
https://gitee.com/lewyon/spring-note
專案原始碼包含了swagger,後續更新關於spring boot整合swagger基礎範例
歡迎關注公眾號:程式設計師布歐,不定期更新技術入門文章
創作不易,轉載請註明出處和作者。