吾爱网站,长沙官网网站推广优化,黑色网站模板,东莞网站建设快速排名概述Ocelot面向使用.NET运行微型服务/面向服务的体系结构的人员#xff0c;这些体系结构需要在系统中具有统一的入口点。特别是我想与IdentityServer参考和承载令牌轻松集成。Ocelot是按特定顺序排列的一堆中间件。Ocelot将HttpRequest对象操作到由其配置指定的状态#xff0… 概述Ocelot面向使用.NET运行微型服务/面向服务的体系结构的人员这些体系结构需要在系统中具有统一的入口点。特别是我想与IdentityServer参考和承载令牌轻松集成。Ocelot是按特定顺序排列的一堆中间件。Ocelot将HttpRequest对象操作到由其配置指定的状态直到到达请求构建器中间件在该中间件中它创建一个HttpRequestMessage对象该对象用于向下游服务发出请求。发出请求的中间件是Ocelot管道中的最后一件事。它不会调用下一个中间件。有一块中间件可将HttpResponseMessage映射到HttpResponse对象然后将其返回给客户端。基本上它具有许多其他功能。代码实现1、新建api客户端12、新建api 网关test3、nuget安装Ocelot4、Program文件添加ConfigureAppConfiguration public class Program{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureAppConfiguration(conf {conf.AddJsonFile(ocelot.json, false, true);}).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();});}
5、Startup文件配置 services.AddOcelot(Configuration);app.UseOcelot().Wait();
6、网关项目下添加文件ocelot.json{ReRoutes: [{DownstreamPathTemplate: /api/WeatherForecast/GetList,DownstreamScheme: http,DownstreamHostAndPorts: [{Host: localhost,Port: 5000}],UpstreamPathTemplate: /GetList,UpstreamHttpMethod: [ Get ]},{DownstreamPathTemplate: /{everything},DownstreamScheme: http,DownstreamHostAndPorts: [{Host: localhost,Port: 5000}],UpstreamPathTemplate: /{everything},UpstreamHttpMethod: [ Post ]},{DownstreamPathTemplate: /api/WeatherForecast/GetModel?id{s1},DownstreamScheme: http,DownstreamHostAndPorts: [{Host: localhost,Port: 5000}],UpstreamPathTemplate: /GetModel?id{s1},UpstreamHttpMethod: [ Get ]}]
}
7、2个项目运行测试代码地址https://gitee.com/conanOpenSource_admin/Example/commit/b3b5a6b15a060b46c5ecd2ea31f0d36791cda18c