par*_*ent 5 asp.net-mvc asp.net-web-api
让控制器从其继承路由是"合法的" BaseController吗?它似乎不允许进行属性路由,但通过正常的路由注册怎么样RouteCollection?
原因是我目前有一堆控制器,每个控制器代表某种文件转换器.它们中的每一个都有一组通用的方法来上传要转换的文件.这些方法是每个控制器上的端点,而不仅仅是私有方法.我希望以下路线有效:
/api/controller1/uploadfile
/api/controller2/uploadfile
/api/controller3/uploadfile
Run Code Online (Sandbox Code Playgroud)
我可以举一个例子,说明如何在BaseController中完成这项工作,如果不可能,可以选择其他方法.
您是否希望将此UploadFile操作放在基本控制器中,并且从它们继承的其他控制器仍然应该能够UploadFile像您在帖子中提到的那样从各自的路线进行点击?如果是,您可以创建一个抽象基础 api 控制器并将此UploadFile操作放入其中,并且您对各个控制器的请求应该按预期工作。
例子:
public abstract class BaseApiController : ApiController
{
// POST /api/Values
// POST /api/Test
public string UploadFile()
{
return "UploadFile";
}
}
public class TestController : BaseApiController
{
// GET /api/test/10
public string GetSingle(int id)
{
return "Test.GetSingle";
}
}
public class ValuesController : BaseApiController
{
// GET /api/values/10
public string GetSingle(int id)
{
return "Values.GetSingle";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7036 次 |
| 最近记录: |