经过试验发现,客户端传递的json数据中,多一个属性不会影响。
少一个属性,也能够正常转换为对象,少的属性会为null。
当我服务端接受一个集合类型的时候,
public HttpResponseMessage PutData(IEnumerable<ClientExpConfigRequestModel> requestModels) { var httpStatusCode = HttpStatusCode.OK; return new HttpResponseMessage(httpStatusCode); }
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; } }
public HttpResponseMessage PutData(dynamic requestModels){}
客户端传递,[{id:1}]都能够走到后台方法,list的count为1,所有属性都为null,因为没有一个属性是匹配的。
当我我传递{id:1},bad Request, 400,因为需要的是集合类型,我传递的是单个对象。 把服务端接受参数改为dynamic后,也能够进入服务端方法,格式是:{requestData},包裹了一层object对象。