zoukankan      html  css  js  c++  java
  • .net webapi 收不到json 实体类参数,返回的json中带有k__BackingField

    案例:实体类是从WCF项目中复制到webapi项目中,去掉了[DataContract],[DataMember],但[Serializable] 没去掉。

     在ApiController 中,实体类输入参数得到的全是null,返回的json中带有k__BackingField。

    方法一:实体类去掉[Serializable] 标签。接收和返回都正常了。

    :ApiController 会对这个[Serializable] 标签处理不正常,接收不到实体参数,返回的json也会带有k__BackingField。

    :Controller MVC 的Controller 有没有这个[Serializable] 标签一切正常。

    方法二:实体类中加[DataContract],[DataMember]

    [Serializable]
    [DataContract]
    public class Error
    {
        [DataMember]
        public string Status { get; set; }
        [DataMember]
        public string Message { get; set; }
        [DataMember]
        public string ErrorReferenceCode { get; set; }
        [DataMember]
        public List<FriendlyError> Errors { get; set; }
    }

    api action

    public class payController : ApiController
        {
             
            // POST: api/pay    
            [HttpPost]
            public SissPayRetInfo ok([FromBody]SissPayInfo payreq)
            {
                SissPayRetInfo r = new SissPayRetInfo();
                r.code = "1";
                return r;
            }
        }

    参考:

    https://stackoverflow.com/questions/12334382/net-webapi-serialization-k-backingfield-nastiness

  • 相关阅读:
    hudson搭建经验总结(二)
    CodePen最佳实例分享
    hudson搭建经验总结
    资料文件夹管理系统
    ueditor+word图片上传
    asp.net上传大文件
    UEditor粘贴word
    大文件上传组件
    文件资源管理系统
    ueditor+复制word图片粘贴上传
  • 原文地址:https://www.cnblogs.com/runliuv/p/6950365.html
Copyright © 2011-2022 走看看