寫在前面
請(qǐng)?jiān)徫疫@個(gè)標(biāo)題黨,寫到了第100篇隨筆,說是深度優(yōu)化,其實(shí)也并沒有什么深度。源碼也沒怎么修改,如果你想使用WebApi Swagger文檔,請(qǐng)先移步到上一篇的中度優(yōu)化。
第一篇:ASP.NET WebApi 文檔Swagger中度優(yōu)化 http://www.cnblogs.com/tdws/p/6100126.html
第二篇:ASP.NET WebApi 文檔Swashbuckle.Core與SwaggerUI深度定制
1.文檔前后端分離
2.項(xiàng)目結(jié)構(gòu)
3.實(shí)現(xiàn)分Area(模塊)來篩選所需展示的Controller
文檔前后端分離
本篇文章提供源碼,下載鏈接: https://github.com/coderws/CustomSwagger (由于博客園只能上傳10MB,就放github上吧,不求star,只為了方便大家下載)
由于Swagger原版的swagger頁面和資源js css等文件被嵌入到dll當(dāng)中,雖然我們可以找到swagger UI的源碼,但用起來依然感到有些不便。所以使用了github上另一個(gè)開源項(xiàng)目sosoapi,它的文檔功能也是基于swagger的,不過為我們做好了一定得拓展,比如現(xiàn)成的中英切換一類的。并且資源完全與之前的嵌入性資源不同,直接分離出來一個(gè)swagger UI的文件夾,包括js,css,images,html等等,這樣的話,我們修改起來很方便呀,可以做到你想要的定制化,并且我將swagger的后臺(tái)處理源碼down下來,加到解決方案當(dāng)中,以后遇到問題,再也不用收到dll不能修改和新增功能的困擾??梢詫wagger作為你框架中的一部分。
項(xiàng)目結(jié)構(gòu)
你可以看到Swashbuckle.Core。就是Swagger的后臺(tái)源碼,展開Test項(xiàng)目,其中的Doc文件夾,就是全部的SwaggerUI的內(nèi)容啦,index.html就是我們的文檔首頁: