我有一个应用程序,客户端通过REST与服务器端通信。这是用.Net写的,但我想问题应该与此无关。
现在 - 我有GetAllCustomers
和GetCustomerById
等服务。客户引用了潜在的大订单列表,因此我不想从GetAllCustomers
服务传递客户参考。我基本上想要返回客户的简单数据,但没有参考。然后,当客户端中选择了客户时,我将执行另一个服务调用GetCustomerById
以获取完整数据。
现在的问题是 - 是否有推荐的处理方法?使用延迟加载我可以在加载引用之前简单地传递对象 - 然后确保在客户端不使用它。但这难看吗? (另外 - 我在使用REST传递延迟加载的对象时遇到了问题,但它与SOAP一起使用 - 但这是一个不同的问题..)我想我可以从数据库中获取所有数据,然后在返回之前删除引用,但是这个肯定听起来很丑陋。另外,我的数据库仍然会受到不必要的负担..
因此;有一个很好的解决方案吗?
答案 0 :(得分:1)
我假设您使用JSON / XML传输数据。
尝试延迟加载对象(服务器端),并在序列化时忽略客户端订单列表。
编辑:您可以使用属性[System.Xml.Serialization.XmlIgnoreAttribute]