我遇到了answer,它引用了超媒体。我的问题很相似。
我正在编写一个主要由移动设备使用的REST API。出于这个原因,我想尝试对高效的网络I / O进行处理。
比如说我有一个包含 TableOfContents (集合)属性的 Book 对象。在我的应用程序中,我想向用户显示所有书籍的列表。然后,当用户选择一本书时,我想向他们展示目录。
现在,在请求我感兴趣的书籍列表时,标题和缩略图,因为列表视图项目中没有显示任何其他内容。我只想在选择书籍时下拉其他项目。这是因为很可能并非所有书籍都会被选中。等等..
延迟加载方法的一些可能解决方案:
有什么想法吗?
答案 0 :(得分:0)
我最终为这个常见问题找到了最合适的解决方案。
我为通过REST API传递的每个实体使用自定义ViewModels和InputModels。我还将为每个实体保留DTO,因为这些可能很有用。
继续问题中的Book示例。我会创建一个BookSummaryViewModel。此对象只包含标题和缩略图等项目。我还可以添加一些其他字段,如CountReviews。 CountReviews在这里工作,因为ViewModel具有汇总本书的上下文。它不适合BookDTO,因为它严格来代表实际的书。
我使用AutoMapper映射到我的ViewModel,效果很好。
这是一个概述。对于一篇很棒的文章,请点击link。