【问题标题】:HTTPException 406 from 1 REST/OData Controller but not others来自 1 个 REST/OData 控制器但不是其他控制器的 HTTPException 406
【发布时间】:2015-11-05 18:06:16
【问题描述】:

我的项目中有几个 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”)

内容类型:application/json

我很困惑为什么这个控制器不工作,而其余的却......提前感谢任何关于我如何解决这个问题的想法。

【问题讨论】:

标签: c# json rest odata


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多