asp.net-mvc - 如何在 Web Api 中将对象作为参数传递

标签 asp.net-mvc asp.net-web-api asp.net-web-api2

我想在我的网络 API GET 和 POST 方法中将对象作为参数传递。我的代码是,

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

当我调用它时,控制台收到一条错误消息:未找到。我试过了,

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

但是,参数对象得到空值。

最佳答案

不要通过 GET 传递对象。

POST 对象并使用 [HttpPost] 属性。

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

 [HttpGet]
 public IHttpActionResult GetAllTypes([FromUri] TestModel model)

关于asp.net-mvc - 如何在 Web Api 中将对象作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43538171/

相关文章:

c# - 执行强类型 ASP.NET MVC session 的更好方法

javascript - Knockout 是一个慢框架吗?

asp.net - 将经典 ASP 和 ASP.NET Web 窗体转换为 ASP.NET MVC

c# - WCF 与 ASP.NET Web API

javascript - 从javascript传递到web api 2时如何隐藏或保护 token

asp.net-mvc - 在 MVC2 + EF4 中保存用户名

asp.net - 是否可以从 Web API 访问 HttpContext.Current.Session

asp.net - OWIN AuthorizeEndpoint 的 redirect_uri 与 web api 的 uri 不同

c# - 我应该如何在 Web API Controller 方法中返回数据?

c# - ApiExplorer 无法识别自定义类型的路由属性