Ich verwende Google Endpoint und für eine meiner Entitäten möchte ich eine POST
Anfrage erstellen, die eine Karte der Eigenschaften hinzufügt. Was ist der richtige Weg? Ich weiß, dass Google Endpoint einen Collection
als Parameter erhalten kann, aber ich möchte eine Karte (unbekannte Schlüsselwerte) hinzufügen. Sollte ich einen JSON
als Parameter übergeben oder einfach die JSON
in den Körper der Anfrage einfügen und aus dem Objekt HttpServletRequest
extrahieren?Was ist die richtige Methode zum Hinzufügen einer Karte in einer REST-Anforderung
1
A
Antwort
0
Jedes JSON-Objekt ist eine Karte, also scheint es die offensichtlichste Wahl zu sein. GSON macht es einfach, aber Sie können auch andere Parser verwenden.
Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> myMap = gson.fromJson("{'k1':'apple','k2':'orange'}", type);
1
Ich würde vermeiden, es als Parameter übergeben. Sie können es im Hauptteil der Anfrage senden und dann mithilfe der json-Bibliothek ein Python-Objekt abrufen.
Und parsing es was? 'Eintrag'>? –
RCB
Nein, in Karte. Ich habe deine Antwort aktualisiert. –
Cool danke. Außerdem habe ich tatsächlich gesehen, dass wenn ich einen Parameter 'Map data 'zur Endpunkt-Methodensignatur hinzufüge, bekomme ich alle JSON mit allen Parametern –
RCB