Tipuri OpenAPI la TypeScript
Transformă un document OpenAPI sau Swagger în interfețe și tipuri TypeScript.
Tipuri OpenAPI la TypeScript
Lipește un document OpenAPI 3 sau Swagger 2 — JSON sau YAML — și acest instrument generează interfețe TypeScript corespunzătoare pentru fiecare schemă în components/schemas, plus un tip per endpoint pentru parametrii de cale și interogare, corpul cererii și răspunsurile. Economisește pasul de a scrie manual tipuri API de fiecare dată când o specificație se schimbă, menținând clientul sincronizat cu ceea ce serverul returnează de fapt.
Opțiunile controlează forma ieșirii. Alege declarații interface sau type și decide cum sunt reprezentate câmpurile nulabile: ca o proprietate opțională (x?: string) sau ca o uniune cu null (x: string | null). Referințele $ref pot rămâne ca tipuri numite care indică interfața corespunzătoare, sau pot fi expandate în linie oriunde sunt utilizate. Dezactivează "genera tipuri de cale, parametru și răspuns" pentru a obține doar scheme de componente, sau activează o uniune de cod de stare pentru a vedea fiecare cod de răspuns pe care un endpoint îl poate returna ca un singur tip. Descrierile din specificație devin comentarii JSDoc deasupra fiecărui câmp, iar un prefix de nume menține tipurile generate să nu se ciocnească cu ale tale atunci când le lipești într-o bază de cod mai mare.
Analyzatorul citește construcții OpenAPI standard — scheme de obiecte și tablouri, enums, oneOf/anyOf/allOf, nullable, additionalProperties — și urmărește pointeri $ref locali în același document. Endpoint-urile marcate ca depreciate pot fi complet omise, iar un document care nu arată ca OpenAPI (fără secțiune components/schemas sau paths) produce o eroare clară în loc de o ieșire goală.
Totul rulează local în browserul tău — specificația API, care poate descrie un produs nelansat sau un sistem intern, nu este niciodată încărcată nicăieri. Copiază tipurile generate, descarcă-le ca fișier .txt pentru a lipi într-un fișier .ts, sau trimite ieșirea direct înapoi în intrare pentru a continua să o rafințezi.