27 lines
1.2 KiB
C#
27 lines
1.2 KiB
C#
var builder = WebApplication.CreateBuilder(args);
|
||
builder.Services.AddHttpClient(); // Добавляем библиотеку по работе с HTTP.
|
||
var app = builder.Build();
|
||
|
||
// Да, по заданию надо будет запрашивать метод /{uuid}. Тут запрашивается список.
|
||
app.MapGet("/", async (IHttpClientFactory httpClientFactory) =>
|
||
{
|
||
var remoteHost = "http://localhost:5158"; // Адрес, по которому развёрнут микросервис с задачами. В docker compose тут будет имя service.
|
||
var client = httpClientFactory.CreateClient();
|
||
var response = await client.GetFromJsonAsync<List<TaskEntityDto>>(remoteHost);
|
||
if (response == null)
|
||
return Results.BadRequest();
|
||
return Results.Ok($"Соседний микросервис отдал следующие задачи: {string.Join(", ", response.Select(i => i.Subject))}");
|
||
});
|
||
|
||
app.Run();
|
||
|
||
/// <summary>
|
||
/// DTO-класс для описания сущности из другого микросервиса.
|
||
/// </summary>
|
||
public class TaskEntityDto
|
||
{
|
||
public Guid Uuid { get; set; }
|
||
public string Subject { get; set; } = string.Empty;
|
||
public bool IsCompleted { get; set; }
|
||
}
|