Hallo zusammen,
folgendes "Problem" Ich habe im Frontend eine Übersicht an Daten X (Ähnlich eines Kategoriebaumes im Onlineshop) Wenn man auf eine dieser Kategorien klickt, sollten Daten aus einer Quelle geholt werden. Die Quelle unterscheidet sich je nach User.
Nun muss nachdem ein User geklickt hat je nach Quelle ein anderer Apiaufruf gemacht werden. Jetzt hab ich folgenden Dummycode, mit dem bin ich aber alles andere als zufrieden! Ich schätze hier wären Interfaces angebracht, finde aber überhaupt keinen sinnvollen Einstieg.
Die anderen Marktplätze im switch würden eben wieder andere Formate bekommen, im Frontend will ich aber ein einheitliches Format haben um die Daten anzeigen zu können.
Kann mir jemand einen Denkanstoß geben?
folgendes "Problem" Ich habe im Frontend eine Übersicht an Daten X (Ähnlich eines Kategoriebaumes im Onlineshop) Wenn man auf eine dieser Kategorien klickt, sollten Daten aus einer Quelle geholt werden. Die Quelle unterscheidet sich je nach User.
Nun muss nachdem ein User geklickt hat je nach Quelle ein anderer Apiaufruf gemacht werden. Jetzt hab ich folgenden Dummycode, mit dem bin ich aber alles andere als zufrieden! Ich schätze hier wären Interfaces angebracht, finde aber überhaupt keinen sinnvollen Einstieg.
Die anderen Marktplätze im switch würden eben wieder andere Formate bekommen, im Frontend will ich aber ein einheitliches Format haben um die Daten anzeigen zu können.
Kann mir jemand einen Denkanstoß geben?
Java:
public class ExportCategoryHandler {
MarktplatzXYCategoriesApi marktplatzXYCategoriesApi = SpringContext.getBean(MarktplatzXYCategoriesApi.class);
private List<ProductCategory> getCategories(Marketplace marketplace, MarketplaceSettings marketplaceSettings) {
switch (marketplace.getMarketplaceName()) {
case "XY":
return transformXYCategoryToProductCategory(xyCategoriesApi.getCategories(marketplaceSettings));
//hier müssten alle weiteren Marktplätze rein
}
return null;
}
private List<ProductCategory> transformXYCategoryToProductCategory(XYCategoriesResponse xyCategoriesResponse) {
ArrayList<ProductCategory> productCategoryList = new ArrayList<>();
for (XYCategoriesResponseItem xyCategoriesResponseItem : xyCategoriesResponse.getXYCategoriesResponse()) {
//Marktplatzformat in unser eigenes "Format" umwandeln
ProductCategory productCategory = new ProductCategory(xyCategoriesResponseItem.getId(), xyCategoriesResponseItem.getParentId(), xyCategoriesResponseItem.getName());
productCategoryList.add(productCategory);
}
return productCategoryList;
}