当前位置: 首页 > news >正文

四川纵川建设机械有限公司网站网站建站网站

四川纵川建设机械有限公司网站,网站建站网站,网页制作素材十个跳转页面,wordpress chastity前言极客时间上的《.NET Core开发实战》是一门非常好的课程#xff0c;作者肖伟宇在第31课#xff08;https://time.geekbang.org/course/detail/100044601-201165#xff09;介绍了定义API的最佳实践。大意如下#xff1a;Controller这一层负责与前端用户的交互#xff0… 前言极客时间上的《.NET Core开发实战》是一门非常好的课程作者肖伟宇在第31课https://time.geekbang.org/course/detail/100044601-201165介绍了定义API的最佳实践。大意如下Controller这一层负责与前端用户的交互它主要的责任就是定义输入和输出不应该处理业务。 因此使用中介者模式将业务逻辑和Controller进行隔离。示例API的实现代码如下[Route(api/[controller])] [ApiController] public class OrderController : ControllerBase {IMediator _mediator;public OrderController(IMediator mediator){_mediator  mediator;}[HttpPost]public async Tasklong CreateOrder([FromBody]CreateOrderCommand cmd){return await _mediator.Send(cmd, HttpContext.RequestAborted);}[HttpGet]public async TaskListstring QueryOrder([FromQuery]MyOrderQuery myOrderQuery){return await _mediator.Send(myOrderQuery);} }public class CreateOrderCommand : IRequestlong {public CreateOrderCommand(int itemCount){ItemCount  itemCount;}public long ItemCount { get; private set; } }public class MyOrderQuery : IRequestListstring {public string UserName { get; set; } } 问题按照上述的最佳实践去编写Controller这就意味着如果有100个命令和查询就要创建100个同样格式的方法。这是一项重复并且枯燥的工作而且还必须保证方法返回值与IRequestT的类型一致很容易出错。有不有不用写这些代码的简单方式Source Generators现在可以祭出我们的大杀器——Source Generators。上次我们已经使用它实现了AutoMapper它的主要特点是自动生成源代码并编译到最终输出中。这次我们用它来自动生成API代码。实现原理如下遍历所有继承IRequestT的类并用它们名称的第2个单词例如Order分组分组Key作为Controller的名称在Controller分组中遍历分组下的类生成对应命令和查询方法具体实现代码请到https://github.com/feiyun0112/CodesForMy_IO下载。使用示例下载课件代码https://gitee.com/geektime-geekbang/NET-Core在GeekTime.Ordering.API项目中引用ApiControllerGenerator项目无需修改任何代码直接编译可以看到已经按照最佳实践的规范生成了代码Controller名称故意加了New以示区别运行后Swagger显示正常成功结论现在我们只需定义命令和查询即可实现定义API的最佳实践是不是很酷如果你觉得这篇文章对你有所启发请关注我的个人公众号”My IO“记住我
http://www.huolong8.cn/news/193385/

相关文章:

  • 网站建设新趋势深圳服装设计学院
  • 网站建设简称什么网站建设需要几个人
  • 专业做包包的网站好wordpress更新很慢
  • 富阳做兼职的网站湖南省城乡建设勘测院 网站
  • 网站编辑注意问题建设网站需要备案么
  • 做字体网站优设计网站建设
  • 儿童网站欣赏网站后台挂马怎么处理
  • 国外网站空间长春网站建设那家好
  • 好推建站简述网站建设的概念
  • 网站制作维护so域名网站
  • 手机网站开发和pc网站的区别贵阳商城网站开发
  • 为什么网站不建议做充值功能衡阳建设学校网站
  • 网站开发中网页上传和网站发布wordpress移动页面插件
  • 越秀电子商务网站建设网站怎么做电子合同
  • 网站上传柳州集团学校网站建设
  • 网站的安全怎么做怎么制作游戏视频教程
  • 网站怎样恶意刷wap网站做微信小程序
  • 东莞建设造价信息网站WordPress api发布接口
  • 哪些网站可以做图片链接各种网站解决方案
  • 七宝做网站门户网站模式
  • 支付网站模板wordpress搜索间隔时间
  • 当今做那些网站致富wordpress 采集插件
  • 南宁好的网站建设公司建设企业网站对公
  • 做网站标志过程自考本科报名官网入口
  • 3免费做网站做网站做的好的公司有哪些
  • 免费在线观看电视剧的网站wordpress亚马逊cdn
  • 网站导航营销的优势建筑平面设计图
  • 企业如何做网站仪征市建设局网站
  • 湛江建设厅网站阿里企业邮箱费用
  • 大型做网站的公司网站建设是平面设计吗