1. 程式人生 > >Spring Boot 整合 Swagger,生成介面文件就這麼簡單!

Spring Boot 整合 Swagger,生成介面文件就這麼簡單!

開發十年,就只剩下這套架構體系了! >>>   

之前的文章介紹了《推薦一款介面 API 設計神器!》,今天棧長給大家介紹下如何與優秀的 Spring Boot 框架進行整合,簡直不能太簡單。

你所需具備的基礎

更多請在Java技術棧公眾號後臺回覆關鍵字:boot。

Spring Boot 整合 Swagger

1、新增依賴

Maven依賴示例:

<!-- Swagger -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
</dependency>

2、在 Spring Boot 配置檔案中新增配置引數。

swagger:
  title: API標題
  description: API描述
  version: 1.0
  terms-of-service-url: http://www.javastack.cn/
  base-package: cn.javastack.test.web
  contact:
    name: Javastack
    url: http://www.javastack.cn/
    email: [email protected]

3、新增配置類

@Getter
@Setter
@Configuration
@EnableSwagger2
@ConditionalOnClass(EnableSwagger2.class)
@ConfigurationProperties(prefix = "swagger")
public class SwaggerConfig {

    /**
     * API介面包路徑
     */
    private String basePackage;

    /**
     * API頁面標題
     */
    private String title;

    /**
     * API描述
     */
    private String description;

    /**
     * 服務條款地址
     */
    private String termsOfServiceUrl;

    /**
     * 版本號
     */
    private String version;

    /**
     * 聯絡人
     */
    private Contact contact;
    
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage(basePackage))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(title)
                .description(description)
                .termsOfServiceUrl(termsOfServiceUrl)
                .version(version)
                .contact(contact)
                .build();
    }

}

如何使用

Swagger 預設會根據配置的包,掃描所有介面並生成對應的 API 描述和引數資訊,但這樣不是很直觀,需要對每個介面和引數進行自定義描述。

常用的 Swagger 註解如下。

註解名稱使用說明
@Api描述一個 API 類
@ApiImplicitParam描述一個請求引數
@ApiImplicitParams描述一組請求引數
@ApiModel描述一個返回的物件
@ApiModelProperty描述一個返回的物件引數
@ApiOperation描述一個 API 方法
@ApiParam描述一個方法的引數
@ApiResponse描述一個請求響應
@ApiResponses描述一組請求響應

使用示例如:

@Api(description = "登入模組")
@RestController
public class LoginController {
    
    @ApiOperation(value = "登入", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "username", value = "使用者名稱", dataType = "string", paramType = "query"),
            @ApiImplicitParam(name = "password", value = "密碼", dataType = "string", paramType = "query")})
    @PostMapping(value = "/login")
    public Object login(@RequestParam("username") String username, @RequestParam("password") String password) {
    
        // ...
          
    }
}

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

開啟 swagger-ui 介面,可以看到所有的 API 介面定義,也可以在上面發起介面測試。

關注Java技術棧公眾號,在後臺回覆:工具,獲取棧長整理的更多的工具絕技,都是實戰乾貨,以下僅為部分預覽。

  • Java 開發必知道的國外 10 大網站
  • 免費線上創作流程圖、思維導圖軟體
  • 推薦一款程式碼神器,程式碼量至少省一半!
  • 推薦一款介面 API 設計神器!
  • 超詳細的 Git 實戰教程,傻瓜一看也會!
  • ……

本文原創首發於公眾號:Java技術棧(id:javastack),關注公眾號在後臺回覆 "工具" 可獲取更多,轉載請原樣保留本資訊。

相關推薦

Spring Boot 整合 Swagger生成介面這麼簡單

開發十年,就只剩下這套架構體系了! >>>   

spring boot整合swagger自定義註解攔截器xss過濾非同步呼叫定時任務案例

本文介紹spring boot整合swagger,自定義註解,攔截器,xss過濾,非同步呼叫,定時任務案例 整合swagger--對於做前後端分離的專案,後端只需要提供介面訪問,swagger提供了介面呼叫測試和各種註釋的視覺化web介面。配置swagger的掃描包路徑,api資訊等,見配置類Swagger

SpringBoot整合SwaggerUI自動生成介面

SpringBoot整合SwaggerUI自動生成介面文件 一、在pom.xml檔案裡新增SpringBoot的引用配置,程式碼如下: <dependency> <groupId>io.springfox</gro

Asp.Net Core 輕鬆學-利用 Swagger 自動生成介面

前言     目前市場上主流的開發模式,幾乎清一色的前後端分離方式,作為服務端開發人員,我們有義務提供給各個客戶端良好的開發文件,以方便對接,減少溝通時間,提高開發效率;對於開發人員來說,編寫介面文件需要消耗大量的時間,並且,手動編寫的文件介面會由於需求的頻繁變動變得難以維護,這就需要一個在介面開發階段可以

第六篇:Spring Boot整合Swagger2構建RESTful API

由於Spring Boot有快速開發、便捷部署等特性,所以很大一部分Spring Boot的使用者會用來構建RESTfulAPI。而我們構建RESTfulAPI的目的通常都是由於多終端的原因,這些終端會共用很多底層業務邏輯,因此我們會抽象出這樣一層來同時服務於多個移動端或者Web前端。

SpringBoot整合swagger2生成API

1、新增依賴 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency>

SpringBoot整合Swagger自動生成API

swagger用於定義API文件。 好處: 前後端分離開發 API文件非常明確 測試的時候不需要再使用URL輸入瀏覽器的方式來訪問Controller 傳統的輸入URL的測試方式對於post請求的傳參比較麻煩(當然,可以使用postman這樣的瀏覽器外掛)

Swagger自動生成介面

1. 新增依賴 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox

Spring Boot中使用freeMarker生成word

前面介紹了Java POI方式來生成Word文件,今天用另一種方式來生成。使用freeMarker的方式來生成。使用freeMarker的方式來生成的過程具體如下。 在maven pom.xml檔案中加入freeMarker,我這裡是在maven環境下做的例子,用其他方式的

codeigniter整合Swagger自動化生成RESTFUL

        最近用CI寫一個移動APP的伺服器端RESTFUL介面。在開發過程中與前端開發人員溝通介面至關重要。原來我們一直使用WORD文件,上傳到QQ群供前端開發下載。雖然工作進行沒什麼大問題,但是每次寫完程式碼都的寫WORD文件再傳到QQ群的方式我還是感到很低效。

spring-boot-route(五)整合Swagger生成介面

目前,大多數公司都採用了前後端分離的開發模式,為了解決前後端人員的溝通問題,後端人員在開發介面的時候會選擇使用swagger2來生成對應的介面文件,swagger2提供了強大的頁面除錯功能,這樣可以有效解決前後端人員溝通難的問題。 下面我們使用SpringBoot結合swagger2生成Restful AP

spring boot整合swagger ui (RESTFUL接口的檔在線自動生成+功能測試功能軟,前後端分離快速開發)

oot images user builder img iop spi update and swagger ui可以通過來攔截controller層,生成請求API,並將其展示在瀏覽器當中。我們可以直接通過瀏覽器來查看和調試接口。 1 添加maven依賴

Spring boot 整合 swagger生成api(轉換成markdown格式)

spring boot 整合 swagger 步驟 1. 匯入jar包 2. 新增配置類 3. 新增介面類 3. 啟動伺服器 4. 訪問UI頁面,可線上測試介面 5. 匯出swagger原始檔 6. 轉換成markdown格式檔案 1,匯入jar包 gradl

spring-boot整合swagger生成線上api

基本的步驟大致如下: 1.pom中引入swagger依賴: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swag

Spring Boot 整合 Swagger 構建介面

在應用開發過程中經常需要對其他應用或者客戶端提供 RESTful API 介面,尤其是在版本快速迭代的開發過程中,**修改介面的同時還需要同步修改對應的介面文件**,這使我們總是做著重複的工作,並且如果**忘記修改介面文件**,就可能造成不必要的麻煩。 為了解決這些問題,Swagger 就孕育而生了,那

spring-boot-route(六)整合JApiDocs生成介面

上一篇文章中介紹了使用Swagger生成介面文件,非常方便,功能也十分強大。如果非要說Swaager有什麼缺點,想必就是註解寫起來比較麻煩。如果我說有一款不用寫註解,就可以生成文件的工具,你心動了嗎?他就是我們今天的主角——JApiDocs。 下面我們一起來看看如何使用! ## 一、新增依賴 ```xm

Spring Boot 整合 swagger2 自動生成 RESTFul API

pat turn ket config 文件 pen 用戶 配置文件 方式 1)首先編輯pom.xml添加依賴 <dependency>   <groupId>io.springfox</groupId>   <artifactI

Spring Boot(九)Swagger2自動生成介面和Mock模擬資料

一、簡介 在當下這個前後端分離的技術趨勢下,前端工程師過度依賴後端工程師的介面和資料,給開發帶來了兩大問題: <!--more--> 問題一、後端介面檢視難:要怎麼呼叫?引數怎麼傳遞?有幾個引數?引數都代表什麼含義? 問題二、返回資料操作難:資料返回不對或者不夠

精簡WebAPI專案模板使用Swagger生成介面

開發工具:VS2017 版本15.7.1 新建專案,選擇ASP.NET Web模板,.NET版本選擇4.5.2,只選擇WebAPI 這是模板自動生成的專案,接下來要把用不到的東西刪掉 右鍵【管理 NuGet程式包】,刪除無用的依賴包 在【已安裝】目錄下,依次刪除以下依賴程式包 Mi

SpringBoot整合Swagger生成介面

一、簡介 Swagger是一個功能強大的API框架,它支援線上文件的檢視以及線上文件的測試,方便我們前後端開發人員對接。Swagger使用起來也很簡單,只需要加入swagger對應的依賴以及在controller類以及方法中加入相應的註解說明,swagger就會幫我們自動生