日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot整合Swagger 自动生成在线API文档 偷懒必备 同时也是我们的基本操作啦!!!

發布時間:2025/3/19 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot整合Swagger 自动生成在线API文档 偷懒必备 同时也是我们的基本操作啦!!! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不知道哦昨天的七夕過的咋樣,總之我就是在這new GirlFriend()、在那netw GirlFriend(),就這樣度過了一天。😐😶
現在大都數項目都已是前后端分離的啦,那么接口文檔就成了項目中非常重要的一部分啦,SpringBoot整合Swagger可以自動生成RESTFUL風格的API文檔,也可以在其中進行測試,比起以前手寫的文檔,不僅方便很多,而且也易于修改和測試。

很喜歡一句話:”八小時內謀生活,八小時外謀發展“
我們:"待別日相見時,都已有所成”😁


好的天氣,好的心情

SpringBoot整合Swagger 自動生成在線API文檔

    • 一、前言
      • 1)引入
      • 2)介紹
      • 3)作用
    • 二、快速開始
      • 2.1、步驟:
      • 2.2、導入依賴:
      • 2.3、yml配置文件
      • 2.4、SwaggerConfig配置類
      • 2.4、實體類
      • 2.5、Service層
      • 2.6、Controller
    • 三、測試
      • 初始信息:
      • 接口:
      • 測試:
    • 四、Swagger VS PostMan
    • 五、自言自語

一、前言

1)引入

現在小伙伴學習SpringBoot大都數是前后端開發的,這個API接口文檔真的不可缺少的一部分。

我們開發好項目–>啟動–>測試–>前端查看API文檔–>數據渲染。用Swagger可以不用寫自己寫了,可以直接在代碼中聲明,非常方便,也易于更改。
我這個東東可以直接CV哈,沒啥特殊的,直接可以跑起來滴。😁😁😁

2)介紹

Swagger 是一個用于生成、描述和調用 RESTful 接口的 Web 服務。通俗的來講,Swagger 就是將項目中所有(想要暴露的)接口展現在頁面上,并且可以進行接口調用和測試的服務。

3)作用

  • 將項目中所有的接口展現在頁面上,這樣后端程序員就不需要專門為前端使用者編寫專門的接口文檔;
  • 當接口更新之后,只需要修改代碼中的 Swagger 描述就可以實時生成新的接口文檔了,從而規避了接口文檔老舊不能使用的問題
  • 通過 Swagger 頁面,我們可以直接進行接口調用,降低了項目開發階段的調試成本
  • 二、快速開始

    案例:

    寫一個RESTFUL風格的增刪改查哈,然后展示接口哈。

    2.1、步驟:

  • 新建一個SpringBoot項目
  • 導入依賴
  • 書寫配置
  • 編碼
  • 啟動測試 -->完事👨?💻(繼續摸魚)
  • 2.2、導入依賴:

    <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>

    2.3、yml配置文件

    server:port: 8088 spring:application:name: springboot-swagger swagger:enable: true

    2.4、SwaggerConfig配置類

    import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.util.ArrayList;/*** @version 1.0* @author: crush* @date: 2020-12-01 10:48* @EnableSwagger2 啟動使用Swagger2*/ @Configuration @EnableSwagger2 public class SwaggerConfig {// 通過配置文件中這個變量的值來開啟或關閉@Value("${swagger.enable}")private Boolean enable;@Beanpublic Docket docket(Environment environment) {return new Docket(DocumentationType.SWAGGER_2).enable(enable).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.crush.swagger")).build();}public ApiInfo apiInfo() {// 這里是作者信息及文檔的基本信息 和頁面展示信息一一對照即可 Contact contact = new Contact("springboot-swagger ", "https://blog.csdn.net/weixin_45821811?spm=1011.2124.3001.5343", "951930136@qq.com");return new ApiInfo("springboot-swagger Demo API接口文檔","此處填寫描述信息","1.0","urn:tos",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList());} }

    2.4、實體類

    @Data @Accessors(chain = true) @ApiModel(description = "賬戶相關信息類") public class Account {@ApiModelProperty("賬號")private String username;@ApiModelProperty("密碼")private String password; }

    2.5、Service層

    public interface AccountService {/*** 注冊* @param account* @return*/boolean register(Account account);/*** 查詢全部*/List<Account> select(); }

    impl:我此處只是用了靜態變量模擬了一下~~(太懶啦捂臉)~~

    @Service public class AccountServiceImpl implements AccountService {private static List<Account> accountList = new ArrayList<Account>();@Overridepublic boolean register(Account account) {accountList.add(account);return true;}@Overridepublic List<Account> select() {return accountList;} }

    2.6、Controller

    @Api(tags = "賬戶相關接口") @RestController @RequestMapping("/account") public class AccountController {private final AccountService accountService;public AccountController(AccountService accountService) {this.accountService = accountService;}@ApiOperation("注冊接口")@PostMapping("/register")public String register(@RequestBody @ApiParam(required = true, value = "注冊賬戶需要的信息") Account account) {accountService.register(account);return "OK";}@ApiOperation("查詢全部")@GetMappingpublic List<Account> select() {return accountService.select();} }

    啟動類就是普普通通的沒啥特殊的,讓我們直接開始吧。

    @Slf4j @SpringBootApplication public class SpringBootSwagger {public static void main(String[] args) {SpringApplication.run(SpringBootSwagger.class);log.info("API接口訪問鏈接:http://localhost:8088/swagger-ui.html");} }

    三、測試

    初始信息:

    啟動之后輸入:就能看到頁面

    http://localhost:8088/swagger-ui.html

    之前配置的相關信息就也會全部展示在上面。

    接口:

    我們點開接口看一下

    測試:

    然后我們通過我們的查詢接口也能夠查詢到了

    完事啦,摸魚啦摸魚啦👨?💻

    四、Swagger VS PostMan

    Swagger的優點:

    • 便于更改,易讀簡單明了,非常方便。

    缺點:

    • 缺點:也很明,就是不能夠自動化,每次都需要自己輸入數據,這點很不好。
    • 但是Swagger是可以把API導入到Postman中的。下篇文章講(狗頭保命🙆?♂?)

    Postaman的優點:

  • 可以自動化測試。
  • 可以設計數據集,不用自己輸入,可以保存環境變量。
  • 缺點我我沒雜感覺到。

    結論:對于我們來講,無論是Swagger和PostMan都是需要掌握的,這是最基本最基本的要求。

    五、自言自語

    你好,我是博主寧在春😁

    如果你看到這篇文章,并且覺得對你有益的話,就給個贊吧,讓我感受一下分享的喜悅吧,蟹蟹。🤗

    如若有寫的有誤的地方,也請大家不嗇賜教!!

    同樣如若有存在疑惑的地方,請留言或私信,定會在第一時間回復你。

    持續更新中

    總結

    以上是生活随笔為你收集整理的SpringBoot整合Swagger 自动生成在线API文档 偷懒必备 同时也是我们的基本操作啦!!!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。