ABP学习笔记:关于生成Proxy前端代理的一些注意事项

84 篇文章 0 订阅
58 篇文章 3 订阅

前置笔记:

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, 按照官⽅⽂档使⽤即可

2023/5/6

new issue: 

需要前后端保证ABP CLI版本一致,记得删除前端modules文件夹,重新跑npm

另外,关闭前端后再跑生成proxy的命令。存在前端关闭后仍然占用进程导致生成失败的问题

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董厂长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值