码迷,mamicode.com
首页 > 其他好文 > 详细

Abp项目构建、swagger及代码生成器

时间:2017-09-20 00:36:19      阅读:421      评论:0      收藏:0      [点我收藏+]

标签:命名空间   下载   ash   类库   str   比较   拷贝   利用   网址   

推荐博客

1、 Abp项目实践推荐参照大神角落的白板报的系列博客,比较新,并且是亲身体验。

http://www.cnblogs.com/wer-ltm/p/6824716.html

2、 Abp源码整体原理结构、类关系图等参看大神Hk Zhang

http://www.cnblogs.com/1zhk/p/5268054.html

一、利用abp模板构建项目

1、打开官网https://aspnetboilerplate.com/Templates

 技术分享

技术分享

 (2)     生成项目后会自动下载代码

二、初始化数据库

参照网址 http://www.cnblogs.com/changyou7/p/6072665.html

1、 打开代码后,打开程序包管理器管制台

 技术分享

 

2、如果下载的项目代码中已经有initialCreate迁移文件了,请删除后执行。

执行后才会有数据库,此时程序就能跑起来。

 技术分享

3、以后想用codefirst向数据库增加表。则在core里面增加entity如Student,并在dbcontext里面加dbset<Student>。

执行命令add-migration “add-student”

Update-database后数据库会增加students表

三、配置swagger

参照http://www.cnblogs.com/wer-ltm/p/5776024.html

1、选择webapi项目,通过nuget安装Swashbuckle.core

 技术分享

 

 

2、 安装后修改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统一

 技术分享

 

3、 启动web项目(一定是web项目,我也奇怪,必须通过web项目才能启动swagger看到application动态生成的接口,非常别扭,建议有空修改成webapi项目,而不是webapi类库)

http://localhost:6634/swagger/ui/index#!就能看到接口文档

 技术分享

 

4、 在用swagger测试接口时会经常遇到登录用户的权限判断,比较麻烦,可注释掉测试完业务。最后有精力统一测试权限

 技术分享

 

四、代码生成器 abp code generator

参照 http://www.cnblogs.com/wer-ltm/p/5777190.html#3639210

1、先在core里面加个student实体类,并用codefirst将表迁移到数据库中去。

 技术分享

 

2、 安装代码生成器,并右击web项目,添加,新搭建基架的项目。

 技术分享

 

然后将代码分别拷贝到对应的项目中去(大约都是cord和application项目)。

3、 参照yoyo.cms项目,将一些类拷贝过来并重构名称及命名空间。

并将ef引用加入到application中去,因为涉及到iqueryable的分页、异步等扩展方法。

 技术分享

技术分享

 

4、 代码生成器非常牛气,自动生成方法及注释,以及各种参数类

 技术分享

 

Abp项目构建、swagger及代码生成器

标签:命名空间   下载   ash   类库   str   比较   拷贝   利用   网址   

原文地址:http://www.cnblogs.com/taoshengyujiu/p/7554880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!