.net WebAPI 传递对象参数

  经过试验发现,客户端传递的json数据中,多一个属性不会影响。

 

少一个属性,也能够正常转换为对象,少的属性会为null。

 

当我服务端接受一个集合类型的时候,

public HttpResponseMessage PutData(IEnumerable<ClientExpConfigRequestModel> requestModels)
        {
            var httpStatusCode = HttpStatusCode.OK;
            return new HttpResponseMessage(httpStatusCode);
        }
View Code
public class ClientExpConfigRequestModel
    {
        public Guid FieldId { get; set; }

        public string FieldLabel { get; set; }

        public string FieldName { get; set; }

        public Nullable<int> SortNum { get; set; }

        public Nullable<bool> IsIncluded { get; set; }
    }
View Code
 public HttpResponseMessage PutData(dynamic requestModels){}
View Code

 

客户端传递,[{id:1}]都能够走到后台方法,list的count为1,所有属性都为null,因为没有一个属性是匹配的。

当我我传递{id:1},bad Request, 400,因为需要的是集合类型,我传递的是单个对象。 把服务端接受参数改为dynamic后,也能够进入服务端方法,格式是:{requestData},包裹了一层object对象。

posted on 2016-05-16 15:13  王老二  阅读(1929)  评论(0编辑  收藏  举报