当传递的数据与数据库表 (Java) 不同时,将 DTO 传递到前端



当前端不需要DTO中的所有数据或需要以不同的方式组织时,将DTO数据传递到前端的约定是什么?

例如,我可能会为学生、他们的课程和课程分数提供 DTO。另一方面,我的前端只显示学生数据,在这个人为的例子中,他们所有课程的平均分数。

因此,当我获得学生

数据时,我还从数据库中获得每个学生课程分数的平均值。这不是"学生"数据的一部分,所以它并不完全属于那里。

OTOH 它真的也不是课程数据的一部分。这样做的标准是什么 - 制作一个新的 DTO 来保存学生 DTO 和平均分数?传递元组?还是别的什么?

我用Java写作,但我想可能有一个与语言无关的约定?要不?

我所知,这件事没有标准。回到网络成为瓶颈的过去,最佳实践是尽量减少要传输的数据量。如今,似乎没有人再担心数据传输的数量了。尽管如此,您仍然应该尝试只传递所需的信息,不包括可以在客户端轻松计算的数据。DTO 可能与您的域对象完全不同。在您的特定情况下,您的 DTO 可能是"学生数据",包括学生信息和平均分数。在编写 Java 时,尽量避免元组,因为一旦项目增长到合适的大小,元组将变得难以维护。

最新更新