WCF Rest服务接收对象为null
我有WCFrest服务,期望对象作为输入。
[WebInvoke(Method = "POST", UriTemplate = "SaveItem", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] [OperationContract] public string SaveItem(Item item) { string retValue; using (var business = new ItemBusiness()) { retValue = business.SaveItem(item).ToString(); } return retValue; }
项目类如下所示。
[DataContract] public class Item { [DataMember] public string UserId { get; set; } [DataMember] public string Name { get; set; } [DataMember] public string Description { get; set; } [DataMember] public string Cost { get; set; } //[DataMember] //public string AvailableQunatity { get; set; } [DataMember] public string IsNegotiable { get; set; } [DataMember] public string LocationLat { get; set; } [DataMember] public string LocationLong { get; set; } [DataMember] public string Condition { get; set; } [DataMember] public string DeliveryType { get; set; } [DataMember] public string PostalCode { get; set; } [DataMember] public string Category { get; set; } }
我从android应用程序传递json。
{ “用户ID”: “1”, “名称”: “1”, “描述”: “1”, “成本”: “1”, “IsNegotiable”: “1”, “LocationLat”: “1”,” LocationLong “:” 1″ , “条件”: “1”, “DeliveryType”: “1”, “邮编”: “1”, “类别”: “13”}
但是WCF方法将Item作为null而不确定原因。
任何帮助,将不胜感激。
谢谢。
编辑
终于搞定了……改变了WebMessageBodyStyle.Wrapped到WebMessageBodyStyle.Bare
感谢您分享您的解决方案。 我需要WebMessageBodyStyle.Bare位,但我的另一个问题是我的JSON被包装在父节点“node”中,对于其他网站上的建议如下:
Not Working --> {"MethodParamName":[{"prop1":"value1","prop2":"value2"}]}
但我的JSON始终为空。 然而,一旦我删除了我的JSON的“父节点”,我的WCF最终可以读取该对象:
上述就是C#学习教程:WCF Rest服务接收对象为null分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
Working --> {"prop1":"value1","prop2":"value2"}
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1024642.html