Tự động sinh type TypeScript và class Java từ JSON
07/08/2026
Khi làm việc với API, một trong những việc tốn thời gian nhất là ngồi gõ lại từng interface TypeScript hay từng POJO Java cho khớp với JSON trả về. Càng nhiều field lồng nhau thì càng dễ sai kiểu, thiếu field, hoặc quên xử lý mảng. Bài này giới thiệu cách tự động hoá bước đó ngay trong trình duyệt, không gửi dữ liệu lên server.
Vì sao nên sinh type tự động
Sinh type từ JSON thật mang lại ba lợi ích rõ ràng: khớp chính xác với dữ liệu thực tế (không đoán), tiết kiệm thời gian với payload lớn, và giảm bug do lệch kiểu giữa backend và frontend. Với TypeScript, bạn có type an toàn ngay khi truy cập thuộc tính; với Java, bạn có sẵn class/record để map bằng Jackson.
JSON sang TypeScript
Dùng công cụ JSON sang TypeScript: dán JSON, công cụ suy kiểu đệ quy, tự phát hiện field tuỳ chọn và tách object lồng nhau thành các interface có tên riêng. Bạn có thể chọn đặt tên gốc, thêm export, hoặc dùng type thay cho interface.
JSON sang Java
Với backend Spring Boot, dùng JSON sang Java Class/Record: sinh POJO kèm Lombok @Data hoặc record, tự xử lý kiểu lồng nhau, List<> và gắn @JsonProperty cho các khoá snake_case. Rất hợp để dựng nhanh DTO cho các endpoint.
Mẹo nhỏ
Hãy dán một response đầy đủ, có dữ liệu thật (không phải object rỗng) để công cụ suy kiểu chính xác nhất. Nếu một field có thể null, giữ ví dụ có cả giá trị null lẫn giá trị thật để type phản ánh đúng. Toàn bộ quá trình chạy cục bộ trong trình duyệt nên bạn có thể yên tâm dán cả dữ liệu nội bộ.