Middle
Postoje dva endpointa: dobijanje liste korisnika i dobijanje korisnika po ID. Kako organizujete tipizaciju odgovora i rad sa ovim API-jevima?
sobes.tech АИ
Одговор од АИ
Za tipizaciju odgovora sa dva krajnja tačka — spiska korisnika i korisnika po ID — korisno je definisati odvojene tipove podataka koji odražavaju strukturu odgovora.
Na primer, koristeći TypeScript:
// Tip za jednog korisnika
interface User {
id: string;
name: string;
email: string;
// druga polja
}
// Odgovor sa jednim korisnikom
interface UserResponse {
user: User;
}
// Odgovor sa spiskom korisnika
interface UsersListResponse {
users: User[];
totalCount: number; // ako je potrebno
}
Za rad sa API-jem, možete kreirati funkcije koje vraćaju promise sa tipiziranim podacima:
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();
}
Ovaj pristup omogućava strogu kontrolu strukture podataka, dobijanje autocompletion-a i provere tipova u IDE-u, što smanjuje broj grešaka i olakšava održavanje koda.