14 Punkte von samchon 2023-07-30 | 6 Kommentare | Auf WhatsApp teilen

Ein Tool zur Erstellung eines TypeScript-SDKs und eines Mock-Simulators aus einer swagger.json-Datei

Das hier gemeinte SDK (Software Development Kit) umfasst die folgenden Funktionen:

  • collection of fetch functions
  • DTO structures
  • Mockup Simulator

Wenn man das SDK erstellt und verwendet, ist es für Frontend- (Client-)Entwickler wesentlich einfacher und sicherer, als Swagger-Dokumente zu lesen und Fetch-Funktionen sowie DTO-Typen manuell zu übertragen. Außerdem übernimmt es automatisch auch das Mocking des Backend-Servers mit MSW, was die Produktivität steigert.

6 Kommentare

 
roxie 2023-08-05

Guter Artikel, danke für den interessanten Ansatz. Das ist vielleicht nur meine persönliche Präferenz, aber ich hätte es gut gefunden, wenn im obigen Hauptteil Beispiele in der Art enthalten gewesen wären: „Wenn man diesen und jenen Code einfügt, wird aus dem bisherigen Verhalten dieses hier.“ Der aktuelle Hauptteil zieht meine Aufmerksamkeit kaum auf sich.

 
kuber 2023-07-30

Ist es im TS-Ökosystem üblich, anhand der Dokumentation manuell die entsprechenden Typen und Funktionen zu definieren?

 
hyeonss0417 2023-07-31

Dazu gibt es übrigens eine Bibliothek namens Tspec, die auf Basis von TypeScript-Typen automatisch OpenAPI-Spezifikationen erzeugt haha.

https://github.com/ts-spec/tspec

 
samchon 2023-07-31

Bei TS ist der von openapi-generator erzeugte Code nicht wirklich brauchbar.

 
kunggom 2023-07-30

Es wirkt ein wenig so, als wäre das die Anleitung für ein Tool, das samchon, der diesen Beitrag gepostet hat, selbst entwickelt hat; dann wäre es vielleicht eher etwas für Show GN.

Wie dem auch sei, die Idee, mit einer swagger.json-Datei automatische Vervollständigung im TypeScript-Client zu ermöglichen, scheint mir gut zu sein. Kann man das vielleicht auch mit anderen Backend-Stacks außer NestJS verwenden?

 
samchon 2023-07-30

Unabhängig von Sprache oder Framework reicht es aus, wenn swagger.json nach dem OpenAPI-v3.0-Standard gebaut werden kann.

Ich hatte schon früher einen Blogbeitrag mit dem Tag „show GN“ gepostet, aber damals sagte der Administrator, dass unter „show GN“ nur GitHub- oder Projektlinks gepostet werden sollten, und hat ihn in einen normalen Beitrag verschoben.