前段时间在学习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。