目录

背景

代码

其他


背景

最近开始准备用.net core 3.1做一个项目,最终选择了abp框架作为后台webapi实现,从而实现一个以vue作为前端的SPA项目。而作为api对外输出,最好是能进行版本的控制,尤其是在对外暴露的url中直观的显示。

代码

闲话不多说,先上代码表诚意。

Configuration.Modules.AbpAspNetCore().CreateControllersForAppServices(typeof(DemoApplicationModule).GetAssembly(), moduleName: "v1", useConventionalHttpVerbs: true);

这段代码就是针对.net core的项目动态生成api的实现方式,可以从以下链接中查看详细内容:

https://aspnetboilerplate.com/Pages/Documents/AspNet-Core#application-services-as-controllers (官方的英文文档)。

这部分的代码放在xxx.web.core的项目下,在对应的模板类的PreInitialize方法下。其实从官网生成的代码中,这段代码已经存在了,只是后面两个参数使用的默认参数,没有给出自定义的部分,而这就是我们需要手动添加的了。网上其实这块的内容也能搜到,但是大多说的不比官网多多少,关键也没有详细说明放在什么地方。所以对于初次接触的人来说,还是比较郁闷的,需要花时间摸索。

这里给几张截图,以帮助初次接触的朋友快速定位。

在这个类中添加即可。代码部分如下:

这样生成的api地址为:/api/services/v1/Role/Create

如果没有修改,即使用默认参数,则api地址为:/api/services/app/Role/Create

其他

在简单说说网上比较容易搜到内容,大多介绍的都是用以下方式实现

Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder.ForAll<IApplicationService>(typeof(AbpProjectTemplateApplicationModule).Assembly, "v1").Build();

这段代码就是针对.net framwork的项目动态生成api的实现方式,这种方式是大多数中文教程文档中可以看到的。首先需要导入abp.web.api的包并引用,另外要说明的是这段代码是放在模块类的Initialize方法中的,和core的不同。具体可参考链接:https://www.jianshu.com/p/dca3bdbd9e14。

使用.net core和abp框架实现动态webapi的简单说明相关推荐

  1. ASP.NET Core 奇淫技巧之动态WebApi

    一.前言 接触到动态WebApi(Dynamic Web API)这个词的已有几年,是从ABP框架里面接触到的,当时便对ABP的这个技术很好奇,后面分析了一波,也尝试过从ABP剥离一个出来作为独立组件 ...

  2. ABP官方文档(三十)【动态WebApi层】

    5.2 ABP表现层 - 动态WebApi层 5.2.1 建立动态WebApi控制器 这是一篇关于ASP.NET Web API的文档.如果你对ASP.NET感兴趣,请阅读ASP.NET Core文档 ...

  3. 基于.NET CORE微服务框架 -谈谈surging API网关

    1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中谈谈surging Api 网关 开源地址:https://gith ...

  4. ABP框架之——数据访问基础架构

    几乎所有的业务应用程序都要适用一种数据库基础架构,用来实现数据访问逻辑,以便从数据库读取或写入数据,我们还需要处理数据库事务,以确保数据源中的一致性. ABP框架可以与任何数据库兼容,同时它提供了EF ...

  5. 基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级

    1.前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版API网关,其它像Token身 ...

  6. 基于.NET CORE微服务框架 -谈谈surging的服务容错降级

    一.前言 对于不久开源的surging受到不少.net同学的青睐,也受到.net core学习小组的关注,邀请加入.NET China Foundation 以方便国内.net core开源项目的推广 ...

  7. ABP框架使用拦截器动态配置租户过滤器

    前言 最近项目要求在ABP框架中根据TenantId是否为空来配置是否禁用租户过滤器.ABP自身给我我们禁用租户过滤器的两种方法官方文档 https://aspnetboilerplate.com/P ...

  8. ABP框架详解(八)动态ApiController的生成和访问机制

    在ABP框架中提供了一套动态生成ApiController的机制(依然支持原生ApiController的使用方式),虽然说是动态生成ApiController但是实际上并没有真正在启动程序的时候生成 ...

  9. Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之部署到Linux

    尝试新的开发组合:Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ex ...

最新文章

  1. windows 基础及基本软件测试环境搭建
  2. 软件工程导论 银行储蓄系统_独家:重庆农商行客户存款被盗刷 银行却责怪客户用卡不规范...
  3. php实现金币提现,PHP实现微信提现功能
  4. c语言结构体出现乱码,结构体数组输出时出现了乱码情况 求大神帮帮看程序
  5. 大道至简第三章。感受。
  6. 一文搞定C语言指针问题
  7. 【PE】手动给PE文件添加一段代码MessageBoxA
  8. gitlab私服搭建
  9. stm32 驱动步进电机
  10. 表情识别 [传统方法 VS 深度学习方法]
  11. 5月语言排行榜:R 跌出前二十,Python 紧咬 C++
  12. modelsim/Questasim中添加xilinx ip库,并仿真成功
  13. [转]【C/C++】STL详解
  14. python画笑脸表情_用Matplotlib,妈妈再也不担心我没有表情包斗图了
  15. 有意思的java工具——Retroweaver和ProGuard
  16. Google APIs .net 客户端库初体验
  17. MovieMator Video Editor Pro for Mac(专业视频编辑软件) v2.5.4中文激活版
  18. sata接口测试软件,SATA接口一致性测试,眼图测试
  19. 设计原则-单一职责原则
  20. OGG-误删DDL触发器ggs_ddl_trigger_before恢复

热门文章

  1. txt文本如何改html类型,编辑html格式文本可改成txt格式(可以替换或更换某文本)新手...
  2. android申请多个运行时权限,Android 6.0(API 23) 运行时权限(二)之权限申请
  3. 自适应滤波器原理第四版计算机实验,自适应滤波器原理(中文第4版)答案
  4. arduino蜂鸣器音乐代码青花瓷_教你用 Arduino 制造简易金属探测器
  5. pythonnumpy矩阵详解_python常用模块numpy解析(详解)
  6. k8s ready 不调度_【零基础学云计算】k8s部署---master节点组件部署(三)
  7. 壁纸控、视觉控少不了高图网解决图片需求问题
  8. 计算机组装与维护报告论文,计算机组装与维护实习报告范文
  9. python主讲移动端自动化测试框架appium_Appium-移动端自动测试框架,如何入门?...
  10. VS2010对C++11的语法支持简单示例