我有一个C# ASP.NET Core MVC
应用和MVC
应用
在这种情况下,API
应用使用这样的模型调用AutoRest
应用(客户端是通过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());
和
{{1}}
在不更新客户端的情况下,两者都无法解析该属性。问题是我不希望客户改变。它应该像现在一样生成,但我希望将值绑定到属性,而不管客户端中的情况如何。我怎么能这样做?
答案 0 :(得分:0)
我找到了罪魁祸首...我的模型继承自base class
(我可能应该在我的问题中提到),而我的base class
装饰有:
[DataContract]
这显然会迫使你指定你想要暴露的每个属性......所以有点刻薄。