.net WebAPI 传递对象参数

  经过试验发现,客户端传递的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对象。

时间: 2024-10-06 23:16:02

.net WebAPI 传递对象参数的相关文章

PHP通过传递对象参数调用asp.net服务测试

asp.net 测试服务 ProcessRequest.asmx文件代码  public class ProcessRequest : System.Web.Services.WebService    { [WebMethod] public Customer RegisterCustomer(Customer customer) { var obj = new Customer(); obj.Name = customer.Name +"_Return"; obj.LastName

springMVC传递对象参数

初学java,由于项目紧急,来不及仔细的研究,在传递参数时就老老实实的一个一个的采用@RequestParam注解方式传递,最近认真看了一下,发现java也具有类似Asp.net Mvc传递对象做参数的方式,即采用@ModelAttribute注解的方式,接收方式如下: 1 @RequestMapping("hello") 2 public String Hello(@ModelAttribute("user") User user) 3 { 4 System.ou

WebApi传递JSON参数

开发过程中经常进行JSON的传递,在WebApi中传递JSON字串时,会发现服务器端接收到不参数值,看下面代码 服务端: public void Post([FromBody]string value) { LoggerHelper.Info("Post:{0}", value); } 客户端: HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQ

Spring MVC中如何传递对象参数

springController: [java] view plaincopy @Controller @RequestMapping("/user") public UserController extends BaseController{ @RequestMapping("/addUser") public void testBinderOuput(@ModelAttribute User user, HttpServletRequest request, H

javacript onclick事件中传递对象参数

var user = {id:1, name:'zs', age:20}; var ele = '<a onclick="edit(' + JSON.stringify(user).replace(/"/g, '"') + ');">修改</a>'; 或者 var ele = '<a onclick="edit(\'' + JSON.stringify(user).replace(/"/g, '"') +

qworker 传递对象参数

procedure TForm1.dolist(AJob: PQJob); var a:TStringList; begin a:=TStringList(AJob.Data); ShowMessage(a.Text); end ;procedure TForm1.Button2Click(Sender: TObject);var AList: TStringList;begin AList := TStringList.Create; AList.Values['Name'] := 'swis

动态div点击事件传递对象参数格式-草稿889

<button type='button' style='border: 1px solid #eeeeee;color: #717070;height: 20px;border-radius: 3px;line-height: 18px;' class='button cbtn' onclick='confirm(" + JSON.stringify(row).replace(/'/g, '"') + ")'>详细</button> 原文地址:htt

实现在GET请求下调用WCF服务时传递对象(复合类型)参数

WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法>.<实现jquery.ajax及原生的XMLHttpRequest跨域调用WCF服务的方法>,在此就不作重述. 实现WCF支持HTTP请求调用容易,但要实现类似MVC的ACTION及WEB API那样的灵活,那就得花费点功夫,为什么这样说

Intent传递对象的两种方法

Android为intent提供了两种传递对象参数类型的方法 分别需要使实体类实现Serializable接口.Parcelable接口 首先我们要知道,传递对象,需要先将对象序列化 一.那么为什么要对象序列化 1.永久性保存对象,保存对象的字节序列到本地文件中: 2.用过序列化对象在网络中.进程间传递对象: 二.序列化对象什么时候实现Serializable接口,什么时候实现Parcelable接口接口 1.Parcelable不能使用将数据存储在磁盘上,因为Parcelable在外界有变化的