-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[API Client] API Client Code aus den Komponenten herausziehen #259
Comments
Reasoning: The HttpClient will always return an Observable<Object>, anyway. Since we're relying on the backend actually providing stuff that matches our expectations "by convention", we can simply ignore the Observable type inside the promisify method. This allows us to remove pesky "as Observable<any>" annotations in Client implementations. Relates to #259
… to use it Also move AdminService into "service" directory
Habe schon einmal einen größeren Teil der Backend Controller im Frontend als Clients gespiegelt. Ein paar fehlen allerdings noch, das sollte jedoch im Prinzip nur Fleißarbeit sein. Nächster Schritt: Einziehen einer Service-Schicht zwischen den Clients und den UI Komponenten (ein Bisschen Inspiration gibt's ja schon z.B. mit dem In der ersten Welle würde der Auslöser, ob ein Request raus gehen soll oder nicht, immer noch von der jeweiligen UI Komponente ausgehen - aber der Service hat die Möglichkeit, zu entscheiden, ob er mit dem Request wirklich bis zum Client durchgeht oder ob vllt. von einem vorherigen Request (z.B. Postleitzahl-Suche) eine response (Promise) herumliegt |
Ein nächster Schritt wäre dann, die Services (wo sinnvoll) so umzubauen, dass sie eine "resolve" Funktion für die relevanten Routen haben, wo die benötigten Daten geladen werden und die Navigation im Routing festgehalten wird, bis die Daten da sind. Beispiel: User navigiert zu
|
Im Fehlerfall ist es auch denkbar, die "resolve" Funktion rejecten zu lassen - aber da muss ich erst noch mal nachlesen, wie der Router sich da verhält (und wir müssen uns überlegen, wie wir diesen Fehlerzustand darstellen wollen, da bisher das Handling dieses Fehlers erst auf der jeweiligen Seite passiert ist) |
Ich mach das mal noch fertig |
Wir entwerfen einen Blueprint für die Behandlung von Service Calls im Frontend und ziehen den API Client Code aus allen UI Komponenten entsprechend um.
Dieses Ticket gilt als Epic für alle damit verbundenen Tätigkeiten. Diese sind in einzelnen Tickets und in dem verknüpften Projekt zu bearbeiten. Der Übersicht halber erhalten alle Tickets, die Teil dieses Epics sind, das Prefix [API Client].
The text was updated successfully, but these errors were encountered: