Jon*_*sMH 3 c# asp.net typescript typelite
我的想法包含两个主要元素:
并且无论何时对控制器或dto进行了更改,打字稿生成的项目都应刷新以在开发过程中保持同步。
我进行了一些研究,发现以下堆栈溢出线程和其他来源:
DTO到TypeScript生成器,建议使用TypeLite库,这似乎很棒,但是根据文档,这要么需要[TsClass]属性,要么需要在启动时引用类。但是,由于我正在使用的项目结构已设置好,因此所有dto都位于* .Dtos命名空间中,因此我有点缺少TypeScript.Definitions()。ForNameSpace()。而且,这仅解决了第一个想法/问题。
Swashbuckly.AspNetCore允许我从控制器和dto两者生成swagger文档,然后任务是以某种方式解释swagger文档并从中创建打字稿类和接口。缺点是,据我所知,这需要我启动服务器,如果可能的话,我希望避免这种情况,因为这将使文件更改难以更新。
仅供参考,这是一个我即将开始的新项目,因此没有要更新的旧代码,而且,所有ASP .NET Core端点都将返回IActionResult以启用Ok(),BadRequest()等的返回。 。因此,在我看来,很难获得回报模型,因为没有一种简单的方法来获取产生的dto(如果有)。
因此,我想到了以下解决两个问题的解决方案:
创建一个单独的使用Swashbuckly库的程序包/应用程序,并在不启动整个服务器的情况下生成模型和控制器。
在每个端点上创建注释,类似于[Produces(SomeDto)],在此之后,我将创建一个小的控制台应用程序,该应用程序使用反射来获取信息并从中生成打字稿。这会导致开发人员必须使这些信息保持同步,因此在我看来,存在一些重复的信息。
但是,这两种解决方案都不会在C#源文件保存时自动更新。
期待任何讨论/建议。
归档时间: |
|
查看次数: |
1884 次 |
最近记录: |