ABP学习笔记:关于生成Proxy前端代理的一些注意事项
前置笔记:
DTO类概念的理解_董厂长的博客-CSDN博客_dto概念之前自己写项目都是Axios一把梭哈,拿到JSON直接解析到组件变量里面。后来觉得这样可能造成各种不可控因素,然后在学习Vue时了解到有个概念叫可控组件,先拿到JSON先暂存,再赋值。再后来工作中使用Angular了,发现在架构设计阶段,存在很多DTO类接口。现在写一篇笔记,概括一下企业级开发的逻辑。看图:DTO(Data Transfer Object)数据传输对象DTO(Data Transfer Object)数据传输对象,这个传输通常指的前后端之间的传输。DTO是一个比较特殊https://blog.csdn.net/dongnihao/article/details/122666349?spm=1001.2014.3001.5501
在ABP框架里,后端写完规定的DTO,是可以通过 “abp generate-proxy”,命令生成相对应的DTO给前端所使用。
注意:
1.后端的DTO写在应用约定层 application contracts
2.后端DTO写完之后。重新运行httpApiHost,起一个swagger。
3.这时候你在swagger中,就可以看见你更改的DTO了。
4.切到前端,运行abp generate-proxy(Angular项目的根目录下),在项目文件中有个“proxy” 的文件夹,下面存放生成的DTO。已经export了,供前端使用。
这边有个思考,为什么要定义这么多的DTO,都只为一个Entity服务?
1 什么是Dto? 数据传输对象(DTO)(Data Transfer Object),是⼀个以不具有任何⾏为除了存储和检索的数据(访问和存取器)。
2 Dto的作⽤? 为何不直接使⽤实体对象. 最⼤的好处是Dto不会像实体⼀样暴露出所有的属性, ⽐如createby, createdate 这些字段,并不需要前端处理, 这样就能尽量的减少出错的机会,也⾮常安全. ⽐如只允许更新⼀个字段,那dto就只有⼀个字段,这样想更新其他的都做不到.
3 ABP已经集成了AutoMapper, 按照官⽅⽂档使⽤即可
ABP学习笔记:关于生成Proxy前端代理的一些注意事项相关推荐
- 架构方面学习笔记(3)-前端架构设计
2022.02.08 今天读了一篇关于前端整洁架构的设计,因此对其中的内容进行了一些整理以及我自己的思考,后续阅读<领域驱动设计>后可以加入更多的内容. References: 前端领域的 ...
- Abp学习笔记---轻松搞懂模块
做.net开发的朋友或多或少都听说过这个框架,自己在差不多一年前也才开始听说,但是!!!之前也没太当回事,一来是工作项目上用不着,二来以为到时候需要用的时候再拿来用就好了. 现在看来却是大错特错!近段 ...
- 【学习笔记】 Thymeleaf的前端渲染(价值50)
[学习笔记] Thymeleaf的前端渲染(价值50)
- Notion学习笔记(二):利用Notion做待办事项
Notion学习笔记(二):利用Notion做待办事项 ⚠️⚠️:公众号的自动回复功能又被禁了,4.25号才解封,用户量突然剧增,违规内容就被管理员给盯上了,这几天要想另外一种分享的方法了,敬请期 ...
- Spring源码学习笔记:经典设计模式之代理模式
1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 0.代理模式(Proxy Pattern) 指为其他对象提供一种代理,以控制对这个对象的访问.代理对象在客户端 ...
- Spring整体学习笔记-IoC依赖注入-AOP代理-整合Spring-Mybatis
Spring 简介 行业春天 解决企业级开发的复杂性,使现有的技术更容易使用,本身是个大杂烩,整合了现有的技术框架 不要重复造轮子 SSH:Struct2+Spring+Hibernate SSM:S ...
- 【TensorFlow-windows】学习笔记七——生成对抗网络
前言 既然学习了变分自编码(VAE),那也必须来一波生成对抗网络(GAN). 国际惯例,参考网址: 论文: Generative Adversarial Nets PPT:Generative Adv ...
- Vue学习笔记(四)—— 前端路由
介绍 本文主要介绍路由的相关知识,当然主要是以Vue的路由为主要介绍对象. 有兴趣的朋友可以看看之前的文章: Vue学习笔记(一)-- 常用特性 Vue学习笔记(二)-- 组件开发 Vue学习笔记(三 ...
- 步步为营 .NET 设计模式学习笔记 七、Proxy(代理模式)
概述 在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来 ...
最新文章
- BB84和B92协议
- java web常用权限方式,java web项目的几种权限控制方法
- Uva 1103 Ancient Messages
- JS中Node节点总结
- Linux配置apache虚拟主机:静态文件
- oracle 9i sql_id,Oracle9i增添 wm_concat函数(转)
- fastapi 用户指南(路径参数、查询参数、请求体)
- xboxones手柄驱动_微软Xbox One S全数字版再次发售,1043元
- vspy如何在图形面板显示报文_Vspy工程之C Code Interface的使用(Vspy系列其三)
- cli能记日志web不能php,ThinkPHP6.0日志变化
- HTML中ul等标签的用法
- ValueError: Object arrays cannot be loaded when allow_pickle=False 报错解决
- bootice添加linux_用BOOTICE工具在U盘上实现SYSLINUX与GRUB4DOS双启动 - 图文
- matlab 地址中有变量,在matlab中符号变量
- 什么是MySQL数据空洞?
- Qt知识点梳理 —— 静态函数发送信号
- MATTEO ZANGA网页JS功能实现
- IT项目管理学习笔记(一)
- 通过IBM Cloud 部署云原生应用
- 矩阵的最小路径和——动态规划