為了方便的管理項目中API接口,目前總是會寫好接口后,然后又要去維護一個文檔,這對於開發者來說太心累了,
在網上找了好多關於API接口管理和生成文檔的資料,一次偶然跟51的大神交流發現了Swagger這個工具,功能強大,UI界面漂亮,並且支持在線測試等等,
對於這塊的使用網上已經有很多教程,我這里用的跟網上的那些不太一樣,部署好后遇到的問題的解決方式也不一樣,
這里只談要注意的地方和問題
先上今天直接摸索出來的效果圖:

詳細的請求api接口如下圖


這里我只是測試,用api配置了一個接口。然后Swagger自動生成出來了,包括以往的接口名都生成出來了,只是要參數詳細還得詳細配置,這段代碼是我參照網上的直接copy過來
@RequestMapping(value="/1.0/contact/update.do/{id}",method=RequestMethod.POST)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "更新成功", response = Contact.class),
@ApiResponse(code = 404, message = "Not Found"),
@ApiResponse(code = 500, message = "內部報錯")}
)
public void update(@ApiParam(name="id", value="編號", required=true)@PathVariable Integer id,@RequestBody Contact contact) {
contact.setId(id);;
contactService.update(contact);
}
我這里不詳細介紹了,
想了解的直接http://blog.csdn.net/zth1002/article/details/46927187
首先引入這些包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.4</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-staticdocs</artifactId>
<version>2.2.2</version>
<scope>test</scope>
</dependency>
這些pom包里面包括ui靜態資源,引入后就不用去git下載ui靜態資源了
第二需要注意的,就是寫一個SwaggerConfig ,然后加上注解配置開啟如圖
如不會看這里http://blog.csdn.net/zth1002/article/details/46927187
這里的配置好弄,支持正則匹配。如果你覺得太復雜,就直接像我這樣配置就可以了,appinfo里面可以配置文檔的各種屬性。
第三個需要注意的。是SwaggerConfigUi資源里面對mvc-controller的訪問是直接這樣 /swagger-resources ,
這對於我們設定了指定后綴的mvc-action 來說,就識別不到了,web系統會報404錯誤,也就是說UI資源里面的html對動態action的請求是不帶后綴的
除了這個/swagger-resources,還有一個apidoc 也是請求的一個controller,但是沒帶后綴系統找不到
那這里再給它在web。xml里面配置url映射。
請求 http://localhost:8080//swagger-ui.html#/ 可以直接訪問了
當然也可以后面給它加上權限


