1. 程式人生 > >從零學習springboot(七)--整合線上swagger文件之常用註解

從零學習springboot(七)--整合線上swagger文件之常用註解

1、@Api

含義:

標識一個模組的描述,一般用於restful介面的類註解

常用屬性:

1)value:用於介面模組的標題描述,似乎1.5版本後不可用

2)tags:用於介面模組的標題描述

3)description:描述介面類的詳細資訊,副標題,雖然起作用,但是後面可能會被廢棄

4)produces:介面能夠返回的資源型別,以逗號分隔,如:"application/json, application/xml"

5)consumes:介面能夠接受的資源型別,以逗號分隔,如:"application/json, application/xml"

6)protocols:介面支援的傳輸協議,以逗號分隔,可能的值:http, https, ws, wss

7)hidden:在文件中是否隱藏,預設false;其實使用註解@ApiIgnore更為方便。

示例
@Api(tags="使用者模組操作介面", consumes="application/json", produces="application/json", protocols="http, https, ws, wss", description="用於使用者介面新增、修改、刪除以及查詢!")
@RestController
@RequestMapping(value="users")
public class UserController {
顯示


2、ApiOperation
含義:
描述具體api操作的註解
屬性:

1)value:api操作的概要

2)notes:api操作的贅述

3)tags:1.5.2版本開始的api文件版本控制的標籤列表

4)response:操作的相應型別,預設Void.class

5)responseContainer:描述相應的容器,有效值:"List", "Set" 或"Map";其他值被忽略

6)responseReference:相應引用,相應可能是本地或遠端引用

7)httpMethod:"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS" and "PATCH"

示例:
@ApiOperation(value="查詢使用者所有列表", tags="v1.0", httpMethod="GET", response=PageInfoVo.class)
    @RequestMapping(method=RequestMethod.GET)
    public club.isource.platform.vo.PageInfoVo<User> selectAll() {
        return userService.selectAll();
    }
結果


3、@ApiModel
含義:

定義介面中使用的模型資料

屬性:

1)value:模型的名字

2)description:詳細的描述

3)parent:是否存在父類,預設Void.class

4)subTypes:是否有繼承該型別的子類

5)reference:引用的相關類

示例:
@ApiModel(value="使用者實體類", description="作為系統中的使用者實體,是系統的核心操作人員")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(Include.NON_EMPTY)
public class User {
結果:


4、@ApiModelProperty
含義:

描述資料模型的屬性註解

屬性:

1)value:模型屬性的含義

2)allowableValues:允許的值,例如:range[1, 5]

3)dataType:資料型別

4)required:是否必須有值,預設false

5)example:屬性值的舉例

6)readOnly:只讀屬性

7)reference:該屬性是否引用其他類

8)allowEmptyValue:是否允許空值,預設false

示例:
@ApiModelProperty(value="使用者唯一標識")
private Integer userid;
結果:


相關推薦

學習springboot--整合線上swagger常用註解

1、@Api含義:標識一個模組的描述,一般用於restful介面的類註解常用屬性:1)value:用於介面模組的標題描述,似乎1.5版本後不可用2)tags:用於介面模組的標題描述3)description:描述介面類的詳細資訊,副標題,雖然起作用,但是後面可能會被廢棄4)p

學習springboot--整合郵件功能發生550或535錯誤

我們使用編碼的方式傳送郵件時相當於自定義客戶端根據使用者名稱和密碼登入,然後使用SMTP服務傳送郵件,我用的心註冊的163郵箱,預設不開啟客戶端授權的(對指定的郵箱大師客戶端預設開啟),因此登入總是被拒絕,

springboot學習筆記——整合mybatis註解方式

目錄 前言: 開發環境: 專案結構: 配置檔案:           資料庫表: 開始開發: 測試: 總結: 前言:           這一篇博文的延續上一篇的。只是使用mybatis的註解形式。相對來說註解形式和xml形式是

SpringBoot 整合redis

1、在pom檔案中新增如下配置 <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st

百度地圖學起百度提供給開發者的服務

搜尋服務 百度地圖移動版API整合搜尋服務包括:位置檢索、周邊檢索、範圍檢索、公交檢索、駕乘檢索、步行檢索,通過初始化MKSearch類,註冊搜尋結果的監聽物件MKSearchListener,實現非同步搜尋服務。首先自定義MySearchListener實現MKSearc

學習selenium2WebDriver自動化測試系列視訊課程-任健勇-專題視訊課程

從零學習selenium2(WebDriver)自動化測試系列視訊課程—10183人已學習 課程介紹        通過案例講解及其演示,掌握使用java語言開發測試指令碼的技術,包括資料驅動指令碼、關鍵字驅動指令碼等,如何對自動化測試指令碼進行有效管理和維護; 讓學員正確地

機器學習筆記 整合學習概述

       整合學習(ensemble learning)是通過組合多個基分類器(baseclassifier)來完成學習任務。基分類器一般採用的是弱可學習分類器,通過整合學習,組合成一個強可學習分類器。       LeslieValiant提出了“強可學習(stron

koa學習筆記環境安裝及目錄

項目信息 ack 分享圖片 true ref 使用 tps blank hub koa是Nodejs的一個框架。通過koa的學習,我們可以對node快速上手。 1,環境準備 node v7.6+,可以用nvm或者n安裝指定版本的Node mysql 數據庫準備,

Mybatis學習系列Mapper映射

tst 轉換 tin 是個 sql註入 eas 屬性。 object spl Mapper映射文件,作用是用來配置SQL映射語句,根據不同的SQL語句性質,使用不同的標簽,mapper文件中常用的標簽有<iselect>、<insert>、<

開始學習音視訊程式設計技術 FFMPEG Qt視訊播放器SDL的使用

前面介紹了使用FFMPEG+Qt解碼視訊並顯示。 現在我們就著手給它加上聲音播放。 播放聲音有很多種方式: 以windows系統為例,可以使用如下方法播放音訊: 1.直接呼叫系統API的wavein、waveout等函式 2.使用directsound播放

開始的vue學習筆記

前言 今天花一天時間閱讀完vuex的官方文件,簡單的做一下總結和記錄 Vuex是什麼 Vuex 是一個專為 Vue.js 應用程式開發的狀態管理模式,以前的符合“單向資料流”理念的示意圖: 它包含三個部分: state,驅動應用的資料來源; view,以宣告方式將 state 對映到檢視; action

以太坊學習筆記——Truffle整合Nodejs

這篇文章的內容緊接著上章的內容,上一篇講了truffle合約部署的基本操作,文章最後講了通過console來呼叫部署成功的合約中的方法,之所以truffle console能夠直接呼叫合約中的方式,是因

基礎學習OpenGL--幀緩衝、後處理

       用於寫入顏色值的顏色緩衝、用於寫入深度資訊的深度緩衝和允許我們根據一些條件丟棄特定片段的模板緩衝。這些緩衝結合起來叫做幀緩衝(Framebuffer),它被儲存在記憶體中。OpenGL允許我們定義我們自己的幀緩衝,也就是說我們能夠定義我們自己的顏

SpringBoot學習記錄——整合Mybatis

以前整合了Spring+SpringMVC+Mybatis,今天用SpringBoot整合了Mybatis,發現這個比之前的SSM的整合方便的太多,省去大量的配置檔案,也許是我還沒用到很深入吧,話不多說,直接進入正題。 1、建立一個SpringBoot專案: 2、下一步:

SpringBoot學習記錄——整合JSP

雖然SpringBoot不推薦使用JSP,而是推薦使用Thymeleaf,但是以後說不定能用到,所以在學習的時候記錄一下 。直接上程式碼 在專案目錄下建一個webapp,然後在webapp下建一個jsp,如圖: pom.xml如下 <?xml version="

SpringBoot學習SpringBoot分頁外掛PageHelper

訪問資料庫採用mybatis框架 1.新增pom檔案依賴 <!-- spring mvc支援 --> <dependency> <groupId>

分散式快取技術redis學習系列——spring整合jediscluster

1、maven依賴 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version

SpringBoot2學習筆記 部署SpringBoot應用

SpringBoot預設使用jar方式執行 1.以jar檔案方式 1)使用jar方式打包 a.在pom.xml中匯入相應外掛 <build> <plugins> &l

SpringBoot 2.x 學習筆記4:整合Echarts

1、下載Echarts http://echarts.baidu.com/index.html 2、新增echarts.js到專案中 在resources目錄下建立js目錄,然後將剛才下載的echarts.js檔案放到js目錄下。 不知道為什麼我在Intelli

Spring 學習筆記 SpringMVC與Hibernate的整合

前言 4.文中並未貼出所有程式碼,請讀者自行到上述連線中下載原始碼,如有問題,請留言。 一、程式碼整體框架如下 分為config、Dao、domain、Service、和web層。 二、資料庫設計 三、關鍵程式碼 1.Hibernate的配置 package