swagger使用過程當中遇到的坑

一、無限請求java

若是swagger頁面請求有錯誤,swagger會無限嘗試訪問,後面重啓項目的時候,控制層會無限刷新出現日誌的內容spring

本地的好辦,若是項目項目部署到服務器中,可能十幾分鍾產生幾個G的日誌文件編程

解決方式:最簡單的方式——關閉請求報錯的瀏覽器json

 

二、同名問題api

@Api(同名的問題) 由於swagger會根據tags 的名稱查找對象,有同名對象的時候,swagger的文檔就會出現問題
若是swagger的某個API下出現不屬於該API的請求,這個就是API的同名的問題,查找相同的API名稱替換便可

 

三、類上的註解「/」的問題瀏覽器

@ApiModel(不能使用「/」)

Errors
Hide
Resolver error at paths./v1-0/Configuration/add.post.parameters.1.schema.properties.listHotCarBrandIVO.items.$ref
Could not resolve reference because of: Could not resolve pointer: /definitions/熱門車/品牌/的IVO does not exist in document

 

四、使用map做爲返回類型報錯,服務器

Errors
Hide
Resolver error at definitions.Map«string,List«賣車車輛信息OVO»».additionalProperties.$ref
Could not resolve reference because of: Could not resolve pointer: /definitions/List does not exist in document

  兩個解決方案:升級swagger版本號,這個是我用2.8.0報錯會報錯,網上有說升級版本能夠解決,這個我沒有去試,ide

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

 我這邊的解決方案是,將map定義在對象中,面向對象編程,並且這樣生成文檔的時候,註釋也會顯示好post

 

五、swagger版本的問題,2.8以前的版本在  路徑/{id} +@pathVarisble  這樣的寫法fetch

  2.8以前,swagger給出的類型竟然是body,須要用json的格式傳這個很奇怪,

  版本更新到2.8之後,路徑後面綁定的參數就是 swagger給出的類型竟然是就能是param

  適當的更新版本有好處

<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.8.0</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.8.0</version>
		</dependency>

  

 6沒有重現過的一個bug

Failed to execute 'fetch' on 'Window': Failed to parse URL from http://localhost/8765undefindFailed to parse URL from http://localhost/8765undefind

  我一直重啓項目 swagger沒有重現問題

  後來我修改請求你方法上的api註釋,重啓就能夠,多是swagger上api衝突,關鍵是這個沒有提示,好暈;若是誰找到重現這個問題來講一下

相關文章
相關標籤/搜索