Cara menggunakan JSON Schema ke TypeScript
- Tempel JSON Schema kamu, atau objek
components.schemasdari OpenAPI, di panel kiri. - Atur nama tipe root dan pilih apakah memakai
interfaceatautype. - Tipe TypeScript akan ikut berubah saat kamu mengetik. Definisi di dalam
$defsataudefinitionsakan menjadi tipe bernama tersendiri. - Salin kode ke file
.tsatau.d.ts.
Cara JSON Schema dipetakan ke TypeScript
| JSON Schema | TypeScript |
|---|---|
"type": "string" / number, integer / boolean / null | string / number / boolean / null |
properties + required | interface dengan prop dan prop? untuk properti opsional |
enum, const | literal union: "draft" | "published" |
items, prefixItems | T[], tuple [A, B] |
additionalProperties (schema) | index signature [key: string]: T |
oneOf / anyOf / allOf | A | B / A | B / A & B |
$ref: "#/$defs/User" | tipe bernama User |
"type": ["string", "null"] | string | null |
Keyword yang hanya untuk validasi, seperti minLength, pattern, atau format, tidak punya padanan di TypeScript. Keyword tersebut akan ditambahkan ke komentar JSDoc jika JSDoc diaktifkan. URL $ref eksternal akan diberi tipe unknown.
Mau mulai dari contoh data, bukan schema? Gunakan JSON ke TypeScript. Untuk mengecek data terhadap schema, gunakan JSON Schema Validator.
Juga dicari sebagai: json schema ke ts, generate typescript dari json schema, json schema interface, konverter json schema, openapi schema ke typescript, json schema types, json-schema-to-typescript online.
Tool yang cocok dipakai bersama JSON Schema ke TypeScript
- JSON ke JSON Schema — Tempel satu atau beberapa contoh JSON dan dapatkan JSON Schema yang menggambarkannya: objek bertingkat, array objek yang digabung menjadi satu skema item, field wajib (kunci yang ada di setiap contoh), format yang terdeteksi seperti email, date-time, URI, dan UUID, enum opsional, serta output draf 2020-12 atau draft-07.
- JSON ke Types — Tempel respons API dan dapatkan model siap pakai dalam 8 bahasa: TypeScript, Python (dataclass, TypedDict, atau Pydantic), Go, Java, C#, Kotlin, Swift, dan Rust.
- Format JSON — Tempel JSON untuk dirapikan, di-minify, atau divalidasi.
- Validator OpenAPI / Swagger — Tempel spesifikasi API untuk memeriksanya terhadap skema OpenAPI resmi, menemukan referensi yang rusak dan parameter path yang tidak konsisten, serta melihat semua endpoint sekaligus.