【发布时间】:2017-12-11 16:01:43
【问题描述】:
已经决定我们应该有一个跨不同应用程序的通用上传 http api。我有一个文件上传控制器,我想在多个 webapi 项目中使用它。
我的上传控制器看起来像这样
namespace MyNamespace
{
[Authorize("PolicyName")]
[Route("Upload")]
public class UploadController : Controller
{
[HttpPost]
[Route("Upload")]
public async Task<IActionResult> Upload(UploadModel model)
{
// impl..
return Ok();
}
}
}
我天真地以为我只要把它提取到一个类库中就可以注册它,但我找不到怎么做?
无论如何,我认为这不是正确的使用方法。我希望能够配置授权策略名称,并可能配置路由。所以我想我可能想建立控制器、它的路由和授权设置并注册它一些如何?
我对 api 的想法是......
((IApplicationBuilder)app).UseUploadController(config => {
config.PolicyName = "Whatever",
config.UploadRoute = "UploadStuff"
});
... 这将创建并注册控制器。不知道从哪里开始。我完全不知道控制器是如何被发现的,或者它们是否可以通过编程方式注册。
任何人有任何指针或库来寻找灵感?
【问题讨论】:
标签: c# asp.net asp.net-core asp.net-core-webapi