作者:zf19920222 | 来源:互联网 | 2022-11-27 20:17
NestJS文档展示了如何通过使用类验证器包来添加DTO以在Controller中使用以验证请求对象。描述的DTO有TypeScript类。现在,虽然控制器处理DTO(TS类),但另一方面,NestJS提供程序(或服务)使用TypeScript接口。这些DTO和接口几乎具有相同的形状。
现在,我在这里看到形状定义的重复。并且想知道是否根本需要接口吗?
我们不能使DTO成为形状和验证的真相来源吗?我们正在考虑的一种方法(使DTO成为事实的来源)是,让openapi生成器将DTO作为输入并生成openapi定义,然后另一个代码生成器可以生成一组Typescript接口,供NestJS自己使用并且可以与另一组消费者应用程序(例如Angular)共享。
有没有人遇到类似的问题?您如何看待以上内容。反馈表示赞赏。