Middle
34
Yra du galiniai taškai: vartotojų sąrašo gavimas ir vartotojo gavimas pagal ID. Kaip organizuotumėte atsakymų tipizaciją ir darbą su šiais API?
Įmonės kur klausė
ТАУ Сервис
Atsakymas iš AI
sobes.tech AI
Для типизации ответов от двух endpoint'ов — списка пользователей и пользователя по ID — удобно определить отдельные типы данных, отражающие структуру ответа.
Например, используя TypeScript:
// Тип для одного пользователя
interface User {
id: string;
name: string;
email: string;
// другие поля
}
// Ответ с одним пользователем
interface UserResponse {
user: User;
}
// Ответ со списком пользователей
interface UsersListResponse {
users: User[];
totalCount: number; // если нужно
}
Для работы с API можно создать функции, которые возвращают промисы с типизированными данными:
async function fetchUserById(id: string): Promise<UserResponse> {
const response = await fetch(`/api/users/${id}`);
return response.json();
}
async function fetchUsersList(): Promise<UsersListResponse> {
const response = await fetch('/api/users');
return response.json();
}
Такой подход позволяет строго контролировать структуру данных, получать автодополнение и проверку типов в IDE, что снижает количество ошибок и облегчает поддержку кода.