电竞比分网-中国电竞赛事及体育赛事平台

分享

swagger2接口排序問(wèn)題

 wwq圖書(shū)世界 2019-08-18

swagger-bootstrap-ui 1.8.5 發(fā)布了。swagger-bootstrap-ui 是 Swagger 的增強(qiáng)UI 實(shí)現(xiàn),目的是替換 Swagger 默認(rèn)的 UI 實(shí)現(xiàn) Swagger-UI,使文檔更友好一點(diǎn)兒

swagger-bootstrap-ui在1.8.5以后,她不在是一個(gè)純webjar的UI工具了,她增強(qiáng)了swagger的一些功能支持,例如tags、接口的排序,一些個(gè)性化的支持,目前只增強(qiáng)接口排序

后續(xù)更多關(guān)于swagger的增強(qiáng)功能需求非常歡迎大家提issue反饋,讓這款UI更加豐富強(qiáng)大.

swagger-bootstrap-ui 1.8.5 主要更新如下:

1、fixed formdata類(lèi)型參數(shù)針對(duì)array數(shù)組類(lèi)型無(wú)增加按鈕

2、fixed 響應(yīng)內(nèi)容高度占比,參數(shù)過(guò)多的情況無(wú)法顯示

3、多選項(xiàng)卡文檔介紹、在線調(diào)試position位置引起的不適改動(dòng),由豎變橫.

4、增強(qiáng)排序功能,添加個(gè)性化配置管理功能,可開(kāi)啟個(gè)性化配置

5、關(guān)于個(gè)性化增強(qiáng)功能,目前已經(jīng)實(shí)現(xiàn)了tags、和接口api方法的排序,使用方式:

在原EnableSwagger2注解上增加@EnableSwaggerBootstrapUi注解

@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfiguration {
    //more...   
}

針對(duì)tags分組排序,UI的排序規(guī)則是順序排序,最小值1,最大值也是默認(rèn)值Integer.Max_VALUE;

如果不使用SwaggerBootstrapUi的增強(qiáng)功能,則無(wú)需開(kāi)啟@EnableSwaggerBootstrapUi注解

tags的排序規(guī)則分兩種

a、一種是判斷Swagger的@Api注解的position屬性是否不等于0(默認(rèn)值為0),如果該值不為空,則獲取此值,根據(jù)該值排序

b、如果postion=0(不寫(xiě)的情況下),判斷是否存在注解@ApiSort的值,如果有值,則獲取此值,根據(jù)該值排序

c、所以排序的取值規(guī)則是:position>@ApiSort

接口api的排序規(guī)則

a、判斷@ApiOperation注解上的postion屬性是否不等于0(默認(rèn)值為0),如果該值不為空,則獲取此值,根據(jù)該值排序

//postion屬性賦值
@ApiOperation(httpMethod = "POST",position = 2,value = "Test2Model測(cè)試數(shù)組參數(shù),多個(gè)",response=Test2Model.class)
@ApiResponses({
    @ApiResponse(code = 200, message = "非HTTP狀態(tài)碼,返回值JSON code字段值,描述:成功")
})
@ApiImplicitParams({
    @ApiImplicitParam(name = "ids",paramType ="form",value = "參數(shù)",allowMultiple = true, required = true)
})

b、如果postion=0(不寫(xiě)的情況下),判斷是否存在注解@ApiOperationSort的值,如果有值,則獲取此值,根據(jù)該值排序

c、所以排序的取值規(guī)則是:position>@ApiOperationSort

注意

注解@EnableSwaggerBootstrapUi@ApiSort、@ApiOperationSort是本UI工具包提供的Java注解,排序功能的使用需要在啟用原EnableSwagger2注解上增加@EnableSwaggerBootstrapUi注解方可生效

6、默認(rèn)去除接口api地址的線上,默認(rèn)只顯示方法類(lèi)型、方法說(shuō)明兩個(gè)屬性,當(dāng)然,新版本增加的個(gè)性化的配置功能,如果你覺(jué)得api地址顯示任然有需要,可在個(gè)性化配置中開(kāi)啟該功能,個(gè)性化配置屬性存儲(chǔ)在localStorage對(duì)象中.只需要配置一次接口.

7、fixed 構(gòu)建curl功能中寫(xiě)死http,根據(jù)window.location.href動(dòng)態(tài)判斷(http|https)的情況

8、如果請(qǐng)求參數(shù)是json參數(shù)body類(lèi)型,文檔說(shuō)明中添加請(qǐng)求示例json展示,方便查看

9、請(qǐng)求示例、響應(yīng)示例json自動(dòng)適配高度

10、選中接口api菜單時(shí),菜單顯示激活色,顯示背景顏色background-color: #eee;

11、fixed 離線文檔markdown格式錯(cuò)亂問(wèn)題(table標(biāo)題換行導(dǎo)致顯示異常)

12、離線文檔已預(yù)覽html的方式展現(xiàn),復(fù)制文檔功能依然是復(fù)制markdown語(yǔ)法

13、請(qǐng)求參數(shù)及響應(yīng)參數(shù)說(shuō)明改為多行顯示,超出長(zhǎng)度不以省略號(hào)顯示,防止出現(xiàn)浮層一直顯示的bug

Maven坐標(biāo)

<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>swagger-bootstrap-ui</artifactId>
   <version>1.8.5</version>
</dependency>

碼云https:///xiaoym/swagger-bootstrap-ui

GITHUB:https://github.com/xiaoymin/Swagger-Bootstrap-UI

在線體驗(yàn):http://swagger-bootstrap-ui./doc.html

歡迎提BUG、Pull Request給我,共同來(lái)完善這個(gè)小工具~~~~

還未給swagger-bootstrap-ui點(diǎn)過(guò)贊的朋友,前往https:///xiaoym/swagger-bootstrap-ui給個(gè)Star吧~~ :)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多