2017-12-17 11 views
0

Ok so eine kurze Frage. Ich sehe viele Implementierungen, bei denen Entwickler eine API-Anfrage direkt in der Komponente implementieren, da HttpClient injizierbar ist. Ist das der Weg zu gehen oder ist es (aus puristischer Sicht) sauberer, einen richtigen Service zu haben und alle HttpClient-Anfragen dort zu haben? Jede seriöse Quelle, auf die ich mich für ein vollständiges Beispiel mit HttpClient + Express + Services beziehen könnte?Angular HttpClient und Services

+0

https://angular.io/guide/styleguide#talk-to-the-server-through-a-service –

+1

Sicher ist es viel sauberer, einen Dienst zu erstellen und dort API-Anfragen zu platzieren. Ein Service für jeden API-Controller. Dadurch verhindern Sie, dass Sie dieselben Aufrufe an die API duplizieren, und Sie behalten den Service als einzige Verantwortung. Dies führt zu sauberer Code und es wird einfacher zu pflegen. Sie können auch einen Basis-API-Dienst mit 'apiBaseUrl' usw. haben. –

+0

stimmen definitiv mit Ihnen überein ... jede mögliche Seite oder Buch, auf die ich mich beziehen könnte, um Ihren Richtlinien zu folgen? Vielen Dank im Voraus. – Metrophobe

Antwort

1

Verwenden Sie Services auf jeden Fall, damit Sie einen zentralen Platz für Ihre API-Anfragen haben.

Ich habe normalerweise einen Service für jede Art von API, dh,/Produkte,/Bestellungen etc. Ich finde, dass (als Beispiel) Komponenten aus meiner gesamten Anwendung Endpunkte innerhalb/Produkte aufrufen können, also in Services aufteilen der Code viel sauberer.

Ich stelle diese Dienste in ein CoreModule https://angular.io/guide/ngmodule-faq#coremodule.

Hier ist ein Beispiel für die Verwendung von API-Aufrufen von Diensten statt direkt von Komponenten. https://www.concretepage.com/angular-2/angular-httpclient-get-example