ocelote sencilla de usar

ocelote es una herramienta de puerta de enlace .netcore, basado en el uso de

1, crear tres proyectos .netcore WebAPI

 

 2. Crear un proyecto en el marco de la puerta

{ 
  "Vuelve a enrutar": [ 
    { 
      "DownstreamPathTemplate": "/ api / usuario", 
      "DownstreamScheme": "http", 
      "DownstreamHostAndPorts": [ 
        { 
          "Host": "localhost", 
          "Puerto": 5001 
        } 
      ], 
      "UpstreamPathTemplate ": "/ webapi1 / usuario", 
      "UpstreamHttpMethod": [ "Obtener"] 
    }, 
    { 
      "DownstreamPathTemplate": "/ api / usuario", 
      "DownstreamScheme": "http", 
      "DownstreamHostAndPorts":[ 
        { 
          "Host": "localhost", 
          "Puerto": 5002 
        } 
      ],
      "UpstreamPathTemplate": "/ webapi2 / usuario", 
      "UpstreamHttpMethod": [ "Obtener"] 
    } 
  ] 
}

Puerto configurado para iniciarse 6000

Modificar StartUp.cs

usando System;
usando System.Collections.Generic;
usando System.Linq;
usando System.Threading.Tasks;
usando Microsoft.AspNetCore.Builder;
usando Microsoft.AspNetCore.Hosting;
usando Microsoft.AspNetCore.HttpsPolicy;
usando Microsoft.AspNetCore.Mvc;
usando Microsoft.Extensions.Configuration;
usando Microsoft.Extensions.DependencyInjection;
usando Microsoft.Extensions.Hosting;
usando Microsoft.Extensions.Logging;
usando Ocelot.DependencyInjection;
usando Ocelot.Middleware;
utilizandoIHostingEnvironment = Microsoft.AspNetCore.Hosting.IHostingEnvironment; 

espacio de nombres WebApplicationGate 
{ 
    pública  clase de inicio 
    { 
        pública puesta en marcha (configuración IConfiguration) 
        { 
            Configuración = configuración; 
        } 

        Pública Configuración IConfiguration { get ; } 

        // Este método es llamado por el tiempo de ejecución. Utilizar este método para agregar servicios al contenedor. 
        públicos  vacíos ConfigureServices (servicios) IServiceCollection 
        { 
            services.AddMvc (opciones=> Options.EnableEndpointRouting = falso ); 

            services.AddOcelot ( nuevo ConfigurationBuilder () 
                .AddJsonFile ( " configuration.json " ) 
                .build ()); 
        } 

        // Este método es llamado por el tiempo de ejecución. Utilizar este método para configurar la canalización de solicitud HTTP. 
        pública  asíncrono  vacío Configurar (IApplicationBuilder aplicación, IHostingEnvironment env) 
        { 
            si (env.IsDevelopment ()) 
            { 
                app.UseDeveloperExceptionPage (); 
            } 

            Esperar app.UseOcelot ();

            app.UseMvc (); 
        } 
    } 
}

3. Crear un controlador en el punto 1, cambie el puerto de inicio 5001

de espacio de nombres WebApplication1.Controllers 
{ 
    [ruta ( " API / [controlador] " )] 
    [ApiController] 
    pública  clase UserController: ControllerBase 
    { 
        [HttpGet] 
        pública IEnumerable < string > GetUserName () 
        { 
            volver  nueva  cadena [] { " 张三" }; 
        } 
    } 
}

4, también en el proyecto de creación de un 2, cambiar el puerto de inicio 5002

de espacio de nombres WebApplication1.Controllers 
{ 
    [ruta ( " API / [controlador] " )] 
    [ApiController] 
    pública  clase UserController: ControllerBase 
    { 
        [HttpGet] 
        pública IEnumerable < string > GetUserName () 
        { 
            volver  nueva  cadena [] { " 李四" }; 
        } 
    } 
}

5, iniciar el proyecto, visita

http: // localhost: 6000 / webapi1 / Usuario

saltar automáticamente a

https: // localhost: 5001 / api / Usuario

 

Supongo que te gusta

Origin www.cnblogs.com/zhaogaojian/p/12593765.html
Recomendado
Clasificación