如何在Web Api中将对象作为参数传递

Jin*_*esh 2 asp.net-mvc asp.net-web-api asp.net-web-api2

我想在web api GET和POST方法中将对象作为参数传递.我的代码是,

    [HttpGet]
    [Route("mytest/list/{model}")]
    public IHttpActionResult GetAllTypes(TestModel model)
    {
        //my logic here
    }
Run Code Online (Sandbox Code Playgroud)

当我调用它时,控制台会收到错误,但未找到错误.我试过这个,

   [HttpGet]
    [Route("mytest/list/{model?}")]
    public IHttpActionResult GetAllTypes(TestModel model)
    {
        //my logic here
    }
Run Code Online (Sandbox Code Playgroud)

但是,参数对象获取空值.

Roy*_*mir 6

不要通过GET传递对象.

POST一个对象并使用[HttpPost]属性.

如果你真的想通过GET来做,你可以使用这个:

 [HttpGet]
 public IHttpActionResult GetAllTypes([FromUri] TestModel model)
Run Code Online (Sandbox Code Playgroud)