Sobes.tech
Middle

İki uç nokta var: kullanıcı listesini alma ve ID'ye göre kullanıcı alma. Bu API'lerle yanıtların tiplenmesini ve çalışma şeklini nasıl organize ediyorsun?

sobes.tech yapay zeka

AI'dan gelen yanıt

İki uç nokta — kullanıcı listesi ve ID ile kullanıcı — yanıtlarını tiplemek için, yanıtın yapısını yansıtan ayrı veri türleri tanımlamak uygundur.

Örneğin, TypeScript kullanarak:

// Bir kullanıcı için tip
interface User {
  id: string;
  name: string;
  email: string;
  // diğer alanlar
}

// Bir kullanıcıyla yanıt
interface UserResponse {
  user: User;
}

// Kullanıcı listesiyle yanıt
interface UsersListResponse {
  users: User[];
  totalCount: number; // gerekirse
}

API ile çalışmak için, tiplenmiş verilerle promise döndüren fonksiyonlar oluşturabilirsiniz:

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

Bu yaklaşım, veri yapısını katı şekilde kontrol etmeye, IDE'de otomatik tamamlama ve tip kontrolü yapmaya olanak tanır, bu da hataları azaltır ve kodun bakımını kolaylaştırır.