Extend ApiController
本文关键字:ApiController Extend | 更新日期: 2023-09-27 18:00:20
正如标题所示,我想扩展ApiController类以包括一些自定义属性和辅助方法,但每当我尝试将其用于控制器时,我都会收到消息Multiple actions were found that match the request:
示例代码:
public class ExtendedApiController : ApiController {
public string SomeHelper() {
....
}
}
public class AccountController : ExtendedApiContoller {
public void Post (ModelObject obj){
string x = SomeHelper();
...Bunch of business logic
}
}
出于某种原因,WebApi似乎不喜欢我这样做,或者我需要覆盖其他一些基本方法。我能看到的唯一其他选择是将扩展方法附加到ApiController,但如果可能的话,我希望避免这种情况。
有什么想法吗?
您可以使用[NonAction]
属性:
public class ExtendedApiController : ApiController {
[NonAction]
public string SomeHelper() {
....
}
}
更多信息请点击此处,在页面底部。
ASP.NETWebAPI在配置之前使用约定,因此它试图找到一个方法,该方法以Get...
开头用于GET请求,以Post...
开头用于POST请求,依此类推用于PUT和DELETE。
因此,您可能有两种方法,以Get...
、Post...
、Put...
或Delete...