Come progettare un'API che restituisce elenchi annidati?

2

Sto recuperando i GeoPoints da un database e li organizzo per l'utilizzo in frontend. I Punti Geografici sono aggregati in segmenti, i segmenti in livelli, i livelli sono mappati agli ID unità e quella mappa è mappata agli ID auto. Il frontend mostra tutto ciò in modo piacevole, con Tooltips e così.

Il mio metodo REST GetMapping ha questo aspetto.

public ResponseEntity<Map<Integer, Map<Integer, List<List<List<double[]>>>>>>

Per i nuovi colleghi, questo è faticosamente difficile da capire. Ma non riesco a pensare a nessun altro modo per farlo. Dovrei creare classi dummy child di Map e List solo così posso scrivere qualcosa come

public ResponseEntity<CarMap<Integer, DriveMap<Integer, Layers<Segments<GeoPoints<double[]>>>>>>

In che modo viene gestita una cosa del genere?

    
posta Blauhirn 31.01.2018 - 11:39
fonte

1 risposta

7

For new colleagues, this is insanely hard to understand

Sì, non sto scherzando. Sono sorpreso che nessuno lo capisca.

Perché non stai utilizzando le classi attuali?

public ResponseEntity<List<Car>> myMethod { ... }

class Car
{
    private final int id;
    private final List<Drive> drives;
}

class Drive
{
    private final int id;
    private final List<Layer> layers;
}

class Layer
{
    private final List<Segment> segments;
}

class Segment
{
    private final List<GeoPoint> geopoints;
}

class GeoPoint
{
    private final List<Double> points;
}
    
risposta data 31.01.2018 - 13:05
fonte

Leggi altre domande sui tag