来自1个REST / OData控制器的HTTPException 406,但不是其他人

时间:2015-11-05 18:06:16

标签: c# json rest odata

我的项目中有几个Odata(4.0)/ Rest控制器(c#/。net 4.62)。除了1之外的所有工作都如预期这是每次调用它时返回406的控制器。

[RoutePrefix("api/SecurityConfig")]
[ApiExplorerSettings(IgnoreApi = false)]
public class SecurityConfigController : ODataController
{

    [Route("GetRoleGroupWithRoles")]
    [EnableQuery(MaxExpansionDepth = 6)]
    [HttpGet]
    public virtual async Task<IHttpActionResult> GetRoleGroupWithRoles([FromODataUri] Guid key)
    {
        return Ok("Hello World");
    }
}

我使用以下标题打电话:

接受:application / *(虽然我只尝试了“*”和“application / json”)

Content-Type:application / json

我很困惑为什么这个控制器没有工作,而其余的都是... ......提前感谢我对如何解决这个问题的想法。

1 个答案:

答案 0 :(得分:0)

  

我认为您错过了构建OData服务的前两个步骤。正如名称所示,ODataController仅适用于OData路由。您需要构建一个表示OData服务的EDM模型,并添加一个暴露该EDM模型的OData路由。有关如何构建OData服务的详细信息,请参阅此官方文档和博客文章。 [源]:How can I avoid a 406 when receiving an OData.PageResult<T>?