У меня есть Консольное приложение ( NET Core 2.2 ), и основная функция этого приложения находится в кли.Но я хочу вызвать конечную точку api rest для этого (чтобы получить некоторую информацию об этом приложении).Теперь я внедряю код в Program.cs, добавляю Startup.cs и контроллер.Но Я не могу дозвониться до своего контроллера.Чего не хватает?
Program.cs:
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
// further logick...
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://0.0.0.0:5002");
Startup.cs:
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddBusinessComponents();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseMvc();
}
}
Контроллер:
[Produces("application/json")]
[Route("cli/v1/dataPicker/info")]
public class InfoController : Controller
{
private IInfoBusinessComponent BusinessComponent { get; }
[Microsoft.AspNetCore.Mvc.HttpGet]
public async Task<IActionResult> GetInfoAsync()
{
Statuses statuses = null;
try
{
statuses = await BusinessComponent.GetInfo();
}
catch (System.Exception ex)
{
return BadRequest($"Exception occurred while trying to get health informations.");
}
return Ok(statuses);
}
}
Вот мой ответ почтальона: