[RxJava2] Multiplie Request einer ID zuordnen und als Map zurückgeben

DagobertDokate

DagobertDokate

Dauergast
137
Nach langer Zeit wende ich mal mal wieder an dieses Forum =)

Ich habe eine REST-Schnittelle, dort gebe ich eine id an und bekomme einen namen.
Jetzt habe ich unter Android (zumindest auch, nicht nur) Retofit als Client Lib für die REST-Schnittelle verwendet.

Mit folgenden Zeilen kann ich mir den passenden Namen zu einer ID holen:
Code:
@GET("warehouse/{wid}/name")
Observable<Response<String>> getWarehouseName(@Path(WAREHOUSE_ID) String wid);

Aus dem Programm wird das ganze so aufgerufen:

Code:
protected Observable<String> getNameObservable(final String wid) {
    Log.log(clazz, "getNameObservable() " + wid);
    if (wid == null) {
        throw new IllegalArgumentException("wid is null");
    }
    return warehousesService.getWarehouseName(wid).subscribeOn(Schedulers.newThread())
            .flatMap(response -> {
                try {
                    CommonResponseChecks.checkResponse(response);
                    return Observable.just(response.body());
                } catch (NotFoundException e) {
                    meController.removeWarehouseId(wid).subscribeOn(Schedulers.newThread()).subscribe(() -> Log.log(clazz, "Warehouse " + wid + " removed from user"));
                    return Observable.error(e);
                }
            });
}

Wie bekomme ich denn jetzt mit rxjava eine Methode getNames(Collection<String> wids) hin, welche die oben stehende Methode für jede ID aufruft und mir am ende eine Map<wid, name> zurück gibt?

Ich bekomme es leider nicht hin die Map mit rxjava zusammen zu puzzeln =(

lg. Dagobert
 

Ähnliche Themen

Manny87
  • Manny87
Antworten
11
Aufrufe
161
swa00
swa00
L
Antworten
15
Aufrufe
906
jogimuc
J
R
  • raller
Antworten
15
Aufrufe
543
DOT2010
DOT2010
Zurück
Oben Unten