热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NestJs:为什么我们在NestJS中都需要DTO和接口

如何解决《NestJs:为什么我们在NestJS中都需要DTO和接口》经验,需要怎么解决?

NestJS文档展示了如何通过使用类验证器包来添加DTO以在Controller中使用以验证请求对象。描述的DTO有TypeScript类。现在,虽然控制器处理DTO(TS类),但另一方面,NestJS提供程序(或服务)使用TypeScript接口。这些DTO和接口几乎具有相同的形状。

现在,我在这里看到形状定义的重复。并且想知道是否根本需要接口吗?

我们不能使DTO成为形状和验证的真相来源吗?我们正在考虑的一种方法(使DTO成为事实的来源)是,让openapi生成器将DTO作为输入并生成openapi定义,然后另一个代码生成器可以生成一组Typescript接口,供NestJS自己使用并且可以与另一组消费者应用程序(例如Angular)共享。

有没有人遇到类似的问题?您如何看待以上内容。反馈表示赞赏。


推荐阅读
  • 小编给大家分享一下TypeScript2.7有什么改进,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
  • 刘连响:为什么看好小程序音视频在教育行业的应用?
    作者简介:刘连响,一起玩耍科技创始人。2013年起开始研究WebRTC,对音视频处理、直播、实时音视频相关技术非常感兴趣,具 ... [详细]
  • 写在文章前这篇文章翻译自ASYNCAWAITWILLMAKEYOURCODESIMPLER,这是一篇写于2017年八月的文章,并由某专栏提名为17年十大必读文章。翻译的不好的处所, ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • React项目中运用React技巧解决实际问题的总结
    本文总结了在React项目中如何运用React技巧解决一些实际问题,包括取消请求和页面卸载的关联,利用useEffect和AbortController等技术实现请求的取消。文章中的代码是简化后的例子,但思想是相通的。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • 我试图在Angular2应用程序中使用元素调整大小检测器库(https:github.comwnrelement-resize-detector).根据我有限的JS模块知识,该库似 ... [详细]
  • 深入理解TypeScript认识TypeScript&配置详解
    为什么使用TypeScript?最初使用TypeScript开发项目的时候,觉得很繁琐,定义每一个变量还要加上类型,尤其是对象形式的,几乎每一个用到的都要定一个接口,还要为每一 ... [详细]
  • 用typescript来写npm模块还不知道typescript是啥的前端童鞋需要做下功课了。随着es6的普及,越来越多的npm模块都开始用es6编写或者重构,看上去或者听起来都挺 ... [详细]
  • Delete `,`eslint(prettier\prettier)错误怎么解决
    使用vscode启动开源vue3.0项目修改内容时报错,这是个常见错误。给大家分享一下。类似的问题都是eslintrc与prettire默认规则的冲突。比如我以前的e ... [详细]
  • TypeScript上手教程
    无疑,对于大型项目来说,VanillaJs无法满足工程需求。早在2016年Anuglar在项目中引入TypeScript时,大概也是考虑到强类型约束对于大型工程的必要性,具体选型考 ... [详细]
  • idea不编译js是什么,js不需要编译
    本文目录一览:1、idea引入js显示不能解析html ... [详细]
  • node python 后台启动_pm2 开机启动egg项目
    egg部署在本地开发时,我们使用egg-bindev来启动服务,但是在部署应用的时候不可以这样使用。因为egg-bindev会针对本地开发做很多处理&# ... [详细]
author-avatar
zf19920222
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有