1

我有一个C# ASP.NET Core Web Api应用程序和C# ASP.NET Core MVC应用程序

在这种情况下,应用程序使用这样的模型MVC调用应用程序(客户端是通过 生成的):APIAutoRest

var thing = await thingApi.ThingPost(new ThingModel { ThingID = ThingID });

此时,我可以调试看到ThingID设置了我的值。当我调试API应用程序时,我可以看到该属性没有转移...属性定义如下:

public long ThingID { get; set; }

但是,当我用

[JsonProperty(PropertyName = "thingID")]

然后绑定值。我试图弄清楚如何绑定它而不必用该属性装饰它。某种不区分大小写的解析器之类的?

我试过使用:

.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver());

在不更新客户端的情况下,两者都无法解析该属性。问题是我不希望客户改变。它应该像现在一样生成,但我希望无论客户端的情况如何,都将值绑定到属性。我怎样才能做到这一点?

4

1 回答 1

0

我找到了罪魁祸首......我的模型继承自 a base class(我可能应该在我的问题中提到)并且我base class的模型装饰有:

[DataContract]

这显然会迫使您指定要公开的每个属性......所以有点无聊。

于 2018-02-02T18:39:25.843 回答