springboot整合swagger2文件

2021-10-09 22:09:11 字數 2875 閱讀 5401

首先建立乙個springboot專案,匯入web依賴。

新建成功之後再將兩個swagger依賴導進去,依賴如下:

io.springfox

springfox-swagger2

2.9.2

io.springfox

springfox-swagger-ui

2.9.2

新建swagger2配置類,通過註解@configuration註冊為bean讓spring管理:

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

import springfox.documentation.builders.apiinfobuilder;

import springfox.documentation.builders.pathselectors;

import springfox.documentation.builders.requesthandlerselectors;

import springfox.documentation.service.apiinfo;

import springfox.documentation.spi.documentationtype;

import springfox.documentation.spring.web.plugins.docket;

@configuration

public class swagger2

private apiinfo apiinfo()

}現在springboot整合swagger2已經完成,寫乙個測試介面測試一下

import io.swagger.annotations.api;

import io.swagger.annotations.apiimplicitparam;

import io.swagger.annotations.apioperation;

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

/*** @author fengz

* @date 2020/9/30 11:28

*/@restcontroller

@api

public class test }

啟動專案,然後瀏覽器訪問 http://localhost:8080/swagger-ui.html#/

至此,springboot整合swagger2流程完成。

swagger通過註解表明該介面會生成文件,包括介面名、請求方法、引數、返回資訊的等等。

@api:修飾整個類,描述controller的作用

@apioperation:描述乙個類的乙個方法,或者說乙個介面

@apiparam:單個引數描述

@apimodel:用物件來接收引數

@apiproperty:用物件接收引數時,描述物件的乙個字段

@apiresponse:http響應其中1個描述

@apiresponses:http響應整體描述

@apiignore:使用該註解忽略這個api

@apierror :發生錯誤返回的資訊

@apiimplicitparam:乙個請求引數

@apiimplicitparams:多個請求引數

常用的註解和屬性有如下:

@api:用在請求的類上,表示對類的說明

tags="說明該類的作用,可以在ui介面上看到的註解"

value="該引數沒什麼意義,在ui介面上也看到,所以不需要配置"

@apioperation:用在請求的方法上,說明方法的用途、作用

value="說明方法的用途、作用"

notes="方法的備註說明"

@apiimplicitparams:用在請求的方法上,表示一組引數說明

@apiimplicitparam:用在@apiimplicitparams註解中,指定乙個請求引數的各個方面

name:引數名

value:引數的漢字說明、解釋

required:引數是否必須傳

paramtype:引數放在哪個地方

· header --> 請求引數的獲取:@requestheader

· query --> 請求引數的獲取:@requestparam

· path(用於restful介面)--> 請求引數的獲取:@pathvariable

· body(不常用)

· form(不常用)   

datatype:引數型別,預設string,其它值datatype="integer"      

defaultvalue:引數的預設值

@apiresponses:用在請求的方法上,表示一組響應

@apiresponse:用在@apiresponses中,一般用於表達乙個錯誤的響應資訊

code:數字,例如400

message:資訊,例如"請求引數沒填好"

response:丟擲異常的類

@apimodel:用於響應類上,表示乙個返回響應資料的資訊

(這種一般用在post建立的時候,使用@requestbody這樣的場景,

請求引數無法使用@apiimplicitparam註解進行描述的時候)

@apimodelproperty:用在屬性上,描述響應類的屬性

SpringBoot開發案例之整合Swagger篇

前段時間整合過的乙個支付服務,由於使用了spring boot快速開發,但是又懶得寫詳細的文件介紹,便順手就把swagger整合進來了,對支付服務進行分組api展示,如上圖。我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要...

SpringBoot開發案例之整合Swagger篇

前段時間整合過的乙個支付服務,由於使用了spring boot快速開發,但是又懶得寫詳細的文件介紹,便順手就把swagger整合進來了,對支付服務進行分組api展示,如上圖。swagger 是乙個規範和完整的框架,用於生成 描述 呼叫和視覺化 restful 風格的 web 服務。總體目標是使客戶端...

SpringBoot如何優雅地使用Swagger2

spring boot 框架是目前非常流行的微服務框架,我們很多情況下使用它來提供 rest api。而對於 rest api 來說很重要的一部分內容就是文件,swagger 為我們提供了一套通過 和註解自動生成文件的方法,這一點對於保證 api 文件的及時性將有很大的幫助。本文將使用 swagge...