OData路径模板不是有效的OData路径模板

时间:2018-03-16 10:58:25

标签: c# rest asp.net-web-api2 odata

我有HtppGet方法,它有ODataRoute:

onCreate

userId是一个字符串,方法名称是UserTags。 Controller是UsersController。当我运行应用程序时,我收到以下错误: 控制器“用户”中操作“UserTags”上的路径模板“Users({userId})/ Tags”不是有效的OData路径模板。在OData路径模板“Users({userId})/ Tags”中找到未解析的路径段“Tags”。

1 个答案:

答案 0 :(得分:5)

ODataRoute的约束非常严格,您的用户实体必须拥有一个名为' Tags'为你的工作路线。

使用以下代码,我可以正常工作:

public class UserController : ODataController
{
    [HttpGet]
    [System.Web.OData.Routing.ODataRoute("User({userId})/Tags")]
    public IHttpActionResult GetTags([FromODataUri]int userId)
    {
        //...
    }
}

public class User
{
    [Key]
    public int Id { get; set; }
    public List<Tag> Tags { get; set; }
}