这是我在 stackoverflow.com 上的第一个问题。我是一名有抱负、自学成才的 Asp.NET 开发人员。我非常喜欢回答其他人的问题(我花了很多时间回答 Udemy 初学者的问题),并且有一天我希望能够以同样的方式为 Stack Overflow 做出贡献。
关于该项目的简要概述:
我正在使用 Asp.NET Core 制作一个 API,允许用户在工作现场打卡和打卡。由于多对多关系,用户和作业站点都可以有多个时间戳。所有基本的 crud 功能都在工作,我可以成功检查谁在工作现场打卡和/或用户在哪里打卡。我的最终目标是完成 API,然后创建一个 React 应用程序来使用它。
问题:
我现在将尝试创建返回更多“复杂”信息的路线。我希望用户路由能够根据该特定用户的数据库中的时间戳返回一般统计信息。到达这条路线时,我想返回一个带有计算信息的 DTO,如下所示:
- 过去 7 天/2 周/月的总工作时间
- 过去 7 天/2 周/月的工作地点
- 允许接收 2 个日期以过滤过去 x 天/周/月的时间戳的路由器
上面的逻辑我实际上仍然需要弄清楚,因为这将是我需要学习的一堆 DateTime 排序,但问题是,执行上述操作并在 JSON 对象中返回这些计算的最佳方法是什么? 这是我正在考虑的 -
A) 创建一个helper类,里面会存储所有计算上述数据的方法,在用户控制器中一一调用这些方法,当场构建一个DTO并返回。
B)创建一个带有 GET 属性的 DTO,它将在里面进行所有计算(这可能吗?我需要一个示例),使用 Imapper 将实体映射到 DTO,返回 DTO。
C)在客户端执行此逻辑,也许这不是 API 的典型行为?(我是菜鸟)。
D)不是上述任何一种的解决方案
上述情况的最佳编码技术是什么?非常感谢您的时间。
罗宾逊