Logo

Thiết kế API type-safe với TypeScript

Thiết kế API type-safe với TypeScript

Type safety có giá trị nhất tại ranh giới hệ thống. API tốt định nghĩa rõ input, output và lỗi để client biết điều gì sẽ xảy ra, còn server có thể phát triển an toàn.

TypeScript giúp mô hình hóa contract, nhưng runtime validation vẫn cần cho dữ liệu không tin cậy. Validation nên nằm ở biên hệ thống: request body, webhook, queue và phản hồi từ bên thứ ba.

Giữ shared type nhỏ. Đừng lộ trực tiếp database model ra API public. Contract ổn định giúp refactor rẻ hơn và lỗi tích hợp dễ phát hiện hơn.