我正在尝试一个基本控制器,它使用通用存储库为我的API控制器提供基本的CRUD方法,这样我就不必在每个新控制器中复制相同的基本代码。但是我遇到了路由属性在基本控制器中时被识别的问题。为了准确地显示我遇到的问题,我创建了一个非常简单的WebAPI控制器。
当我在主控制器中有一个Get
方法,并且它直接从ApiController
继承时,我没有任何问题,这是预期的。
[RoutePrefix("admin/test")]
public class TestController : ApiController
{
[Route("{id:int:min(1)}")]
public string Get(int id)
{
return "Success";
}
}
当我将Get
方法移到一个基本控制器中时,它将返回404页面的内容。
[RoutePrefix("admin/test")]
public class TestController : TestBaseController
{
}
public class TestBaseController : ApiController
{
[Route("{id:int:min(1)}")]
public string Get(int id)
{
return "Success";
}
}
一些更有趣的笔记:
GET
/Test/1
访问该操作。POST
/admin/test
时,它返回以下JSON{“Message”:“找不到与请求URI‘admin’匹配的HTTP资源。”,“MessageDetail”:“找不到与名为‘http://test.com/admin/test’的控制器匹配的类型。”}
有没有人知道一种方法,可以让路由与基本控制器的属性一起工作?
https://stackoverflow.com/questions/19989023
复制相似问题