【问题标题】:c# WebApi OData complex type is always null in post ODataRoutec#WebApi OData复杂类型在post ODataRoute中始终为null
【发布时间】:2015-08-14 08:38:24
【问题描述】:

我的问题是,对于以下 odata 操作,“siteSetup”始终为空:

[HttpPost]
[ODataRoute("Setup")]
public IHttpActionResult Setup(SiteSetup siteSetup)
{
    return BadRequest("Not yet working");
}

这是我的复杂类型

public class SiteSetup
{
    public SiteSetup()
    {
    }

    public string Username
    {
        get;
        set;
    }

    public string Password
    {
        get;
        set;
    }

    public string CompanyName
    {
        get;
        set;
    }
}

这是请求的提琴手。

【问题讨论】:

  • SiteSetup 是复杂类型还是实体?你没有复杂类型的控制器,你不能孤立地使用它们,它们必须用作实体的属性,并且你的控制器接受一个实体。
  • @ben-robinson 它应该是一个复杂类型,仅用于此操作。但如果那是不允许的,我将不得不以另一种方式解决这个问题。谢谢。如果需要,您可以将其发布为答案。

标签: c# asp.net asp.net-web-api odata


【解决方案1】:

OData/WebApi V4支持以complextype为参数的动作,你可以在你的控制器方法中使用ODataActionParameters,你可以看这个页面的说明,http://odata.github.io/WebApi/#04-07-action-parameter-support

【讨论】:

    猜你喜欢
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    相关资源
    最近更新 更多