【发布时间】:2020-01-25 02:50:28
【问题描述】:
我有一个 REST API,它在“野外”为应用程序提供服务并且工作正常。 API 和消费者使用相同的数据模型,因此 API 以 JSON 格式返回的对象直接解析为消费者中的数据对象。这一切都很好。我很确定我正在使用 Flurl 接收使用 Newtonsoft.JSON 反序列化的数据。
现在我想向数据模型(以及数据库中的后端数据条目)添加一些内容,以使 API 功能更强大。这些不是消费者应该关心的属性,但是如果我将它们添加到数据模型对象中,API 将传递它们并返回它们。 .NET 消费者会抱怨还是忽略它们?
例如说我现在作为用户返回了这个:
{
Username: "something",
Email: "someone@somewhere.com"
}
但是,如果我对 API 进行更改,它将返回如下内容:
{
Username: "something",
Email: "someone@somewhere.com",
Search: "SOME SEARCH FIELD DATA"
}
消费者会开始抛出反序列化错误还是忽略额外的值?我尝试谷歌,但我发现的只是关于如何自己反序列化 JSON 数据的东西......
由于它是公开的,如果这会引发错误,我将不得不以不同的方式进行操作,但不必这样做真的很好。
【问题讨论】:
标签: .net json rest serialization json.net