forked from v.moiseev/distributed-computing
Add lw3
This commit is contained in:
26
labs/lab_3/example_2.cs
Normal file
26
labs/lab_3/example_2.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
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; }
|
||||
}
|
||||
Reference in New Issue
Block a user