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