zap*_*poo 9 c# asp.net-web-api
在我的组织中,我有几个asp.net web api项目.
我愿意开发一个web api,它将像一个网关,并有单一的入口点.
我尝试过处理程序和过滤器,但路由不允许我这样做.
让我解释一下,我真正想做的事情
让HumanResourceProject在:api.domain.com/api/hr
样本控制器是api/hr/LeaveRecord/GetByEmployee/
让CRMProject在:api.domain.com/api/crm
样本控制器是api/crm/Customers/GetByRegion/
Let Gateway at:api.domain.com/api/gateway
我希望我的网关处理请求,例如
1. api.domain.com/api/gateway/api/crm/Assients/GetByRegion /
或
api.domain.com/api/gateway/api/hr / LeaveRecord/GetByEmployee /
制作一些控件,如ip/access/browser等.
我想调用正确的api控制器api/crm/Customers/GetByRegion/
小智 0
您可以使用 IApplicationBuilder ,并在 .net core 的 Startup 类中注入这是您的 Configure() 方法。
因此,在到达实际控制器之前,您的所有请求都将由预请求处理程序处理。
public static IApplicationBuilder MiddleWare(this IApplicationBuilder
builder)
{
return builder.UseMiddleware<RequestHandler>();
}
Run Code Online (Sandbox Code Playgroud)
在这里,您的所有请求将首先由 RequestHandler 处理,然后再到达实际控制器。