【发布时间】:2018-10-03 10:38:15
【问题描述】:
我有一个“公共 API”网络服务项目,我也通过服务引用从另一个项目访问它。 Web 服务的方法之一返回自定义对象的数组,但如果 API 升级并且自定义对象以某种方式更改(例如额外的属性),我希望对象的其余部分能够正常映射并且新属性只是出现空白,但整个对象无法映射。有谁知道解决这个问题的方法吗?
【问题讨论】:
-
等等,字段是在哪里添加的?在 API(即本场景中的后端)中,对吗?那么您希望您的前端(API 的使用者)做什么?期待旧类型,接收新类型,但尽可能将其映射到旧类型?
-
@Flater 基本上,是的。如果我有一个自定义地址对象,其中包含 AddressNameNumber、AddressStreet、AddressTown、AddressCountry、AddressPostcode 等字段,然后我在以后添加 AddressCity,我认为它可以变得足够聪明,以便很好地映射旧字段并将 AddressCity 留在默认值。显然我错了!
-
leave AddressCity at a default value你的意思是从你的消费者发送数据到你的API?好吧,既然消费者不知道那个字段,为什么你会期望消费者会以某种方式知道它需要将这个特定字段添加到它发送的序列化数据中? -
抱歉,我并不清楚。这些是我正在谈论的响应,而不是请求。请求永远不会改变,只是传入一个唯一的地址标识符,它是具有我的项目并不真正关心的新字段的响应。
标签: c# .net service-reference