Middle
Hay dos endpoints: obtener la lista de usuarios y obtener un usuario por ID. ¿Cómo organizarías la tipificación de las respuestas y el trabajo con estas API?
sobes.tech AI
Respuesta de la IA
Para tipificar las respuestas de dos endpoints — la lista de usuarios y el usuario por ID — es conveniente definir tipos de datos separados que reflejen la estructura de la respuesta.
Por ejemplo, usando TypeScript:
// Tipo para un usuario
interface User {
id: string;
name: string;
email: string;
// otros campos
}
// Respuesta con un solo usuario
interface UserResponse {
user: User;
}
// Respuesta con lista de usuarios
interface UsersListResponse {
users: User[];
totalCount: number; // si es necesario
}
Para trabajar con la API, puedes crear funciones que devuelvan promesas con datos tipados:
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();
}
Este enfoque permite controlar estrictamente la estructura de los datos, obtener autocompletado y verificación de tipos en el IDE, lo que reduce errores y facilita el mantenimiento del código.