使用Angular4我已經爲不同的數據庫創建了服務。每個數據庫的動作都是一樣的(有點像CRUD),但有不同的API端點(但功能完全一樣)。以編程方式將類型傳遞給服務的最佳方式是什麼?
我正在爲每個數據庫創建一個服務,但我想一定有更好的方法來管理這個。
有沒有辦法在導入過程中或組件中傳遞「名稱」給服務,以便服務知道應該點擊哪個端點?
實施例:
import {ApiService} from '../_services/api.service.ts';
和在該服務:
let endpoint = enter code here defined from import of component
private url = '/api/' + endpoint
當然,但這不是一個好主意。你讓你的代碼變得脆弱而難以閱讀以節省幾行 – bryan60
你可以擴展它如何變得脆弱嗎?有6 150個線路服務或1個服務延長6次更好嗎? – kisonay
6 150線服務。爲了實現這一目標,你需要強制每個消費者遵守這種單一的服務風格,這將是一個固有的容易出錯的過程,此外,潛在的單一服務的變化可能會破壞整個應用程序並促成重大重組,這就是它的意思變脆。角度風格指南建議乾燥,但不要太乾。這太乾了。 Angular公開已經封裝了主要CRUD操作的http客戶端。沒有理由讓它變得更通用。 – bryan60