我有一个Web API
,看起来像下面...
public class LeaguesController : ApiController
{
//api/Leagues/active/1
//api/Leagues/complete/1
//api/Leagues/both/1
[GET("api/Leagues/{type}/{id}")]
public List<Competition> Get([FromUri]int id,
[FromUri]CompetitionManager.MiniLeagueType type)
{
return CompetitionManager.GetUsersMiniLeagues(id, true, type);
}
//api/Leagues/GetMiniLeagueTable/3
[GET("api/Leagues/GetMiniLeagueTable/{id}")]
public List<SportTableRow> GetMiniLeagueTable([FromUri]int id)
{
return SportManager.GetMiniLeagueTable("", id).TableRows;
}
}
当我调用第一种方法Get
时,它工作正常。当我使用 fiddler 或 Chrome REST Client 调用第二种方法GetMiniLeagueTable
时,我收到以下错误:
{ 消息:“请求无效。” MessageDetail:“参数字典包含不可为空类型‘CompetitionManager+MiniLeagueType’的参数‘类型’的空条目,用于‘LeaguesController’中的方法‘System.Collections.Generic.List`1[Competition] Get(Int32, MiniLeagueType)’ '. 可选参数必须是引用类型、可空类型或声明为可选参数。” }
我AttributeRouting
用来装饰方法,但这似乎不起作用。在我介绍之前它运行良好MiniLeagueType
。
有没有人遇到过这个问题,或者你能指出我哪里出错了吗?