繁体   English   中英

如何在MVC Web API服务和使用它的应用程序中分离对象?

[英]How to decouple objects in MVC Web API service and apps which uses it?

我刚刚完成了MVC Web API服务的工作,其唯一目的是显示来自Microsft Analysis Cube的一些数据,并返回JSON对象。

所以可以说我有一个从多维数据集加载并从服务返回为JSON的对象:

public class Person{
 public string Name {get;set;}
 public double Balance {get;set;}
}

现在在我的MVC APP上,它发出服务请求,我创建了这个完全相同的类,因此我可以从JSON中获得期望。 如您所见,如果Person对象将使用LastName属性扩展,那么我也必须在应用程序中添加完全相同的属性。 是否有任何架构师/模式可以避免在App和Webservice上创建完全相同的类/对象?

也许创建一个包含所有必要对象的单独的库,然后将其作为dll解析为webservice和app? 或还有其他方法吗?

@Ahmed是正确的。 您应该创建单独的模型或查看模型以按层公开某些数据。 当您将数据过度发布到某些端点时,会涉及安全性。 数据可能是高度机密的,例如薪水,并且显示在错误的位置。 您可以使用AutoMapper在层之间映射数据。 看起来它至少解决了您要解决的问题:

https://github.com/AutoMapper/AutoMapper

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM