Проблема с ответом API в методе продукта, проект зависает при ожидании ответаC#

Место общения программистов C#
Ответить
Anonymous
 Проблема с ответом API в методе продукта, проект зависает при ожидании ответа

Сообщение Anonymous »

У меня возникла проблема с ответом API в методе GetProductsAsync. Метод GetUsersAsync работает нормально, но когда я пытаюсь получить продукты, проект зависает и ответ так и не получен. Я вижу, что метод вызывается, но когда ожидается ответ, кажется, что программа просто зависает без прогресса.
Если я получу данные JSON, я выполню процесс сопоставления, это не важно, но я не могу получить ответ.
Вот соответствующий код:
public interface IUserService
{
Task GetUsersAsync();
Task GetProductsAsync();
}
public class UserService : IUserService
{
private readonly HttpClient _httpClient;

public UserService(HttpClient httpClient)
{
_httpClient = httpClient;
}

public async Task GetUsersAsync()
{
var response = await _httpClient.GetAsync("https://jsonplaceholder.typicode.com/users");
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize(content);
}
public async Task GetProductsAsync()
{
// I'm getting an error in a subdata, it's not progressing.
var response = await _httpClient.GetAsync("https://localhost:7024/api/Product");
//The project does not reach this stage and is stalled.
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize(content);
}
}
// User.cs
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Username { get; set; }
public string Email { get; set; }
}

public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
public int CategoryId { get; set; }
public int Id { get; set; }
public DateTime CreatedDate { get; set; }
}

public class ApiResponse
{
public List Data { get; set; }
public object Errors { get; set; }
}


https://localhost:7024/api/Product
Тело ответа:

{
"data": [
{
"name": "Polo Yaka",
"price": 30,
"categoryId": 1,
"id": 1,
"createdDate": "2024-11-11T17:39:52.1000973"
},
{
"name": "V yaka",
"price": 30,
"categoryId": 1,
"id": 2,
"createdDate": "2024-11-11T17:47:14.3504982"
}
],
"errors": null
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... for-respon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»