为什么以与控制器相同的前缀开头的路由不起作用?使用我的控制器上的以下代码,我正在进行一次调用,其中RoutePrefix与控制器名称相同。现在,我正在打电话,就像http://[localhost]/subscribers那样无效。
namespace WebApi.Controllers
{
[RoutePrefix("subscribers")]
public class SubscribersController : ApiController
{
[Route("")]
[HttpGet]
public IQueryable<string> Get()
{
return new string[] { "value1", "value2" }.AsQueryable();
}
}
}
我尝试了一些东西作为Route(&#34;〜/ subscriber&#34;)而不仅仅是Route(&#34;&#34;)但是这样做也不行。
目前适合我的选项是http://[localhost]/subscribers/all,代码
namespace WebApi.Controllers
{
[RoutePrefix("subscribers")]
public class SubscribersController : ApiController
{
[Route("all")]
[HttpGet]
public IQueryable<string> Get()
{
return new string[] { "value1", "value2" }.AsQueryable();
}
}
}
答案 0 :(得分:0)
两个样本都可以正常工作。我创建了一个新的Web项目并将两个版本添加到项目中。 尝试创建示例项目并检查问题是否仍然存在。