前段時間在學習abp,在配置swagger時踩了很多坑,特此整理一下,方便同行參考。幸運的是又發現了神奇的代碼生成器,分享下親身經驗。html
以爲此博客很是有用的朋友能夠在右側贊助打賞下,很是感謝你們支持。web
推薦博客數據庫
一、 Abp項目實踐推薦參照大神角落的白板報的系列博客,比較新,而且是親身體驗。api
http://www.cnblogs.com/wer-ltm/p/6824716.htmlapp
二、 Abp源碼總體原理結構、類關係圖等參看大神Hk Zhang異步
http://www.cnblogs.com/1zhk/p/5268054.html數據庫設計
一、打開官網https://aspnetboilerplate.com/Templates工具
(2) 生成項目後會自動下載代碼學習
參照網址 http://www.cnblogs.com/changyou7/p/6072665.html測試
默認用戶爲admin/123qwe
一、 打開代碼後,打開程序包管理器管制臺
二、若是下載的項目代碼中已經有initialCreate遷移文件了,請刪除後執行。
執行後纔會有數據庫,此時程序就能跑起來。
三、之後想用codefirst向數據庫增長表。則在core裏面增長entity如Student,並在dbcontext裏面加dbset<Student>。
執行命令add-migration 「add-student」
Update-database後數據庫會增長students表
參照http://www.cnblogs.com/wer-ltm/p/5776024.html
一、選擇webapi項目,經過nuget安裝Swashbuckle.core
二、 安裝後修改WebApiModule裏面的方法
(1)1處必定要有他,否則swagger測試接口時會報錯400,找不到對應的接口.
(2)2爲動態生成接口,根據application項目中的IapplicationService的實現類動態生成controller及action,暴露給外面。Swagger中能夠顯示出來接口列表。
(3)4爲swagger生成application項目產生的動態接口文檔
(4)5爲swagger生成webapi本身手動寫的controller/action接口文檔
(5)修改webapi類庫和application類庫的屬性,生成的xml文檔位置與configureSwaggerUi統一
三、 啓動web項目(必定是web項目,我也奇怪,必須經過web項目才能啓動swagger看到application動態生成的接口,很是彆扭,建議有空修改爲webapi項目,而不是webapi類庫)
http://localhost:6634/swagger/ui/index#!就能看到接口文檔
四、 在用swagger測試接口時會常常遇到登陸用戶的權限判斷,比較麻煩,可註釋掉測試完業務。最後有精力統一測試權限
五、在home/index中直接跳轉到swagger的頁面中,方便測試api
參照 http://www.cnblogs.com/wer-ltm/p/5777190.html#3639210
一、先在core裏面加個student實體類,並用codefirst將表遷移到數據庫中去。add-migration "add-student"; update-database
二、安裝abp代碼生成器,vs—工具——擴展和更新——abp code generator下載
三、並右擊web項目,添加,新搭建基架的項目。
而後將代碼分別拷貝到對應的項目中去(大約都是cord和application項目)。
三、 參照yoyo.cms項目,將一些類拷貝過來並重構名稱及命名空間。
並將ef引用加入到application中去,由於涉及到iqueryable的分頁、異步等擴展方法。
四、 代碼生成器很是牛氣,自動生成方法及註釋,以及各類參數類
5、開發套路
一、咱們選擇的數據庫設計優先,先設計好數據庫。複製出來一套新的解決方案代碼,添加個dbfirst類庫,採用dbfirst生成全部的entity及dbset。注意entity裏面屬性都加好註釋。
二、利用代碼生成器生成代碼,並將代碼拷貝到原來的代碼中去。這樣基本單表操做全部代碼自動完成。
三、具體開發每一個表相關業務時修改完善service。