Skip to content

Commit

Permalink
seo
Browse files Browse the repository at this point in the history
  • Loading branch information
tidusIO committed Dec 21, 2024
1 parent e435ead commit ebb864c
Showing 1 changed file with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ categories: "angular advanced"
---

## Was möchten wir erreichen?
Mit Hilfe der Metadaten, die uns [Spring Data REST](https://projects.spring.io/spring-data-rest/) zur Verfügung stellt, können wir für unsere Web Clients automatisch Schema-Definitionen generieren. Somit sparen wir uns unnötige Aufwände durch die sonst notwendige doppelte Definition von Datenmodellen in Java und TypeScript. Dies reduziert weiterhin fehleranfälliges manuelles Aktualisieren dieser Definitionen. Durch ein von mir erstelles NPM Paket kann dieses Verfahren nun in jedes Projekt eingebunden werden.
Mit Hilfe der Metadaten, die uns [Spring Data REST](https://spring.io/projects/spring-data-rest) zur Verfügung stellt, können wir für unsere Web Clients automatisch Schema-Definitionen generieren. Somit sparen wir uns unnötige Aufwände durch die sonst notwendige doppelte Definition von Datenmodellen in Java und TypeScript. Dies reduziert weiterhin fehleranfälliges manuelles Aktualisieren dieser Definitionen. Durch ein von mir erstelles NPM Paket kann dieses Verfahren nun in jedes Projekt eingebunden werden.

![Overview Process](overview-package.jpg)

Expand All @@ -31,7 +31,7 @@ Dennoch, wie bei fast jedem _design pattern_, bringt dies auch Nachteile mit sic

Es gibt nun einige Ansätze, dieses Problem zu lösen, ohne dass man [diese Arbeit manuell machen muss](http://threevirtues.com/). Einer dieser Ansätze ist die Nutzung von [Swagger](https://swagger.io/) und / oder [OpenAPI](https://www.openapis.org/). Mit diesen Werkzeugen lassen sich APIs definieren und anschließend clientseitige SDKs mittels [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) generieren, um auf APIs zuzugreifen, so dass man diese nicht selber programmieren muss.

Momentan bin ich in der Erstellung eines Workflow Tool involviert, das [Spring Data REST](https://projects.spring.io/spring-data-rest/) für die Bereitstellung von REST-Ressourcen und [Spring REST Docs](https://spring.io/projects/spring-restdocs) zur Dokumentierung dieser API nutzt (eine Aufgabe, die sonst oft ebenfalls an Swagger delegiert wird. Denn obwohl Swagger ein umfassendes Werkzeug zum Arbeiten mit APIs ist, ist dessen offensichtlichster und direktester Nutzen die Bereitstellung einer automatisch generierten, für Menschen lesbaren API Dokumentation). Was die Entwicklung des Clients angeht, werden für dieses Workflow Tool [Angular](https://angular.io/) und [TypeScript](https://www.typescriptlang.org/) verwendet.
Momentan bin ich in der Erstellung eines Workflow Tool involviert, das [Spring Data REST](https://spring.io/projects/spring-data-rest) für die Bereitstellung von REST-Ressourcen und [Spring REST Docs](https://spring.io/projects/spring-restdocs) zur Dokumentierung dieser API nutzt (eine Aufgabe, die sonst oft ebenfalls an Swagger delegiert wird. Denn obwohl Swagger ein umfassendes Werkzeug zum Arbeiten mit APIs ist, ist dessen offensichtlichster und direktester Nutzen die Bereitstellung einer automatisch generierten, für Menschen lesbaren API Dokumentation). Was die Entwicklung des Clients angeht, werden für dieses Workflow Tool [Angular](https://angular.io/) und [TypeScript](https://www.typescriptlang.org/) verwendet.

Hier wäre also eine API Definition, aus der man einen TypeScript Client generieren könnte, sehr sinnvoll.

Expand Down

0 comments on commit ebb864c

Please sign in to comment.