我意识到这是一个常见的问题,但我找不到一个用我的配置正确提出相同问题的问题。
我的默认路线如下:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional }
);
我的控制器看起来像这样:
public class VariablesController : ApiController
{
public IEnumerable<Variable> Get()
{
// get all
}
public Variable Get( int id )
{
// get individual
}
[HttpGet]
public DistributionReport GetDistribution( int id )
{
// get distribution report
}
}
当我GET /api/variables/1/getDistribution
时,它运作正常。
当我GET /api/variables/1
时,我得到500例外:
找到与请求匹配的多个操作: Models.Variable类型Controllers.Api.VariablesController上的Get(Int32) Models.DistributionReport类型Controllers.Api.VariablesController上的GetDistribution(Int32)
我需要做些什么来修改我的情况,以便它们都有效?