springboot-swagger報錯

一类缤、具體步驟:

1.1姑蓝、pom.xml唆貌,引入springfox-swagger2和springfox-swagger-ui架包:


<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>

    <!-- swagger-ui為項目提供api展示及測試的界面 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.7.0</version>
    </dependency>

1.2、配置SwaggerConfig.java

import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**

  • @author <a href="934804229">934804229</a>

  • @version 2019/8/19 17:23

  • @description SwaggerConfig2
    */
    @Configuration
    @EnableWebMvc
    @EnableSwagger2
    public class SwaggerConfig {
    @Bean
    public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
    .select()
    //.apis(RequestHandlerSelectors.any()) //顯示所有類
    //.apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) //只顯示添加@Api注解的類
    .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//只顯示添加@ApiOperation注解的接口
    .build()
    .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
    .title("開放接口API") //粗標題
    .description("HTTP對外開放接口") //描述
    .version("1.0.0") //api version
    .termsOfServiceUrl("http://IP:PORT/OBJ-NAME/swagger-ui.html")
    // .license("LICENSE") //鏈接名稱
    // .licenseUrl("http://xxx.xxx.com") //鏈接地址
    .build();
    }
    }
    1.3诗舰、配置spring-servlet.xml


<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />
<mvc:resources mapping="/webjars/" location="classpath:/META-INF/resources/webjars/" />
<bean class="cn.
...common.SwaggerConfig"/>
1.4隅肥、接口類注解配置配置

@Controller
@RequestMapping(value = "/api")
@Api(value = "emsModel", description = "快遞查詢模塊", produces = MediaType.APPLICATION_JSON_VALUE)
public class EmsController {

@ResponseBody
@RequestMapping(value = "/v2/emsModel/emsQuery")
@ApiOperation(value = "EMS查詢接口v2版", httpMethod = "POST", response = ResponseMainEntity.class, notes = "EMS查詢接口v2版")
public ResponseMainEntity<HashMap> emsQuery(@RequestBody RequestMainEntity requestData) {
    ResponseMainEntity responseMainEntity = new ResponseMainEntity();
    responseMainEntity = emsQueryV1(requestData);
    return responseMainEntity;
}

}
注:如果是實體接受关顷,需要采用@RequestBody注解去注釋實體。

1.5武福、Swagger訪問路徑:

http://IP:PORT/項目名稱/swagger-ui.html

效果圖如下:

1.6、swagger注解含義見下面第三項

二痘番、報錯解決方案

2.1捉片、如果報:swagger-ui.min.js:8 Uncaught TypeError: Cannot read property 'definitions' of null

解決方案:檢查是否引入fastjson架包平痰,如果是,檢查其版本是不是1.2以下的版本伍纫,swagger2好像對1.2以下的fastjson版本不支持宗雇,升級至1.2以上再試試!

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.30</version>
</dependency>
三莹规、swagger2注解含義

以下是swagger2注解中的全參數(shù)赔蒲,有興趣可以都試試

@Api
Api 標記可以標記一個Controller類做為swagger 文檔資源,使用方式

屬性名稱

備注

value

url的路徑值

tags

如果設(shè)置這個值良漱、value的值會被覆蓋

description

對api資源的描述

basePath

基本路徑可以不配置

position

如果配置多個Api 想改變顯示的順序位置

produces

For example, “application/json, application/xml”

consumes

For example, “application/json, application/xml“

protocols

Possible values: http, https, ws, wss.

authorizations

高級特性認證時配置

hidden

配置為true 將在文檔中隱藏

@ApiOperation每一個url資源的定義,使用方式

屬性名稱

備注

value

url的路徑值

tags

如果設(shè)置這個值舞虱、value的值會被覆蓋

description

對api資源的描述

basePath

基本路徑可以不配置

position

如果配置多個Api 想改變顯示的順序位置

produces

For example, “application/json, application/xml

consumes

For example, “application/json, application/xml

protocols

Possible values: http, https, ws, wss.

authorizations

高級特性認證時配置

hidden

配置為true 將在文檔中隱藏

response

返回的對象

responseContainer

這些對象是有效的 “List”, “Set” or “Map”.,其他無效

httpMethod

“GET”, “HEAD”, “POST”, “PUT”, “DELETE”, “OPTIONS” and “PATCH

code

http的狀態(tài)碼 默認 200

extensions

擴展屬性

@ApiParam標記
public ResponseEntity createUser(@RequestBody @ApiParam(value = “user”, required = true) User user)

屬性名稱

備注

name

屬性名稱

value

屬性值

defaultValue

默認屬性值

allowableValues

可以不配置

required

是否屬性必填

access

不過多描述

allowMultiple

默認為false

hidden

隱藏該屬性

example

舉例子

@ApiImplicitParam對容器的描述

屬性名稱

備注

name

屬性名稱

value

屬性值

defaultValue

默認值

allowableValues

可以不可配置

required

是否屬性必填

access

不可過多描述

allowMutiple

默認為false

dataType

數(shù)據(jù)類型

paramType

參數(shù)類型

@ApiResponse

屬性名稱

備注

code

http的狀態(tài)碼

message

描述

response

默認響應(yīng)類 Void

reference

參考ApiOperation中配置

responseHeaders

參考 ResponseHeader 屬性配置說明

responseContainer

參考ApiOperation中配置

參數(shù)解釋的原文鏈接:https://blog.csdn.net/qq_36911145/article/details/82854417

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末母市,一起剝皮案震驚了整個濱河市矾兜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌患久,老刑警劉巖椅寺,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蒋失,居然都是意外死亡返帕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門篙挽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荆萤,“玉大人,你說我怎么就攤上這事嫉髓」劾埃” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵算行,是天一觀的道長梧油。 經(jīng)常有香客問我,道長州邢,這世上最難降的妖魔是什么儡陨? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮量淌,結(jié)果婚禮上骗村,老公的妹妹穿的比我還像新娘。我一直安慰自己呀枢,他們只是感情好胚股,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著裙秋,像睡著了一般琅拌。 火紅的嫁衣襯著肌膚如雪缨伊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天进宝,我揣著相機與錄音刻坊,去河邊找鬼。 笑死党晋,一個胖子當(dāng)著我的面吹牛谭胚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播未玻,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼灾而,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了深胳?” 一聲冷哼從身側(cè)響起绰疤,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舞终,沒想到半個月后轻庆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡敛劝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年余爆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夸盟。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡菇曲,死狀恐怖霎俩,靈堂內(nèi)的尸體忽然破棺而出猜旬,到底是詐尸還是另有隱情阶捆,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布释簿,位于F島的核電站亚隅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏庶溶。R本人自食惡果不足惜煮纵,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望偏螺。 院中可真熱鬧行疏,春花似錦、人聲如沸套像。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贞让,卻和暖如春采幌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背震桶。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留征绎,地道東北人蹲姐。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像人柿,于是被迫代替她去往敵國和親柴墩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容