Sobes.tech
Middle

On kaks lõpp-punkti: kasutajate nimekirja saamine ja kasutaja saamine ID järgi. Kuidas organiseerite nende API-de vastuste tüübi ja töö?

sobes.tech AI

Vastus AI-lt

Kaks endpoints — kasutajate nimekiri ja kasutaja ID järgi — vastuste tüüpide määramiseks on mugav defineerida eraldi andmetüübid, mis peegeldavad vastuse struktuuri.

Näiteks kasutades TypeScripti:

// Ühe kasutaja tüüp
interface User {
  id: string;
  name: string;
  email: string;
  // muud väljad
}

// Ühe kasutajaga vastus
interface UserResponse {
  user: User;
}

// Kasutajate nimekirjaga vastus
interface UsersListResponse {
  users: User[];
  totalCount: number; // kui vaja
}

API-ga töötamiseks võite luua funktsioone, mis tagastavad promise-idega tüübitud andmeid:

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();
}

Selline lähenemine võimaldab rangelt kontrollida andmete struktuuri, saada automaatset täitmist ja tüüpide kontrolli IDE-s, mis vähendab vigu ja lihtsustab koodi hooldust.