We're stuck with Google Cloud Endpoints. According to the Google Calendar API explorer (https://developers.google.com/apis-explorer/#p/calendar/v3/calendar.events.update), it should be possible to use java.util.Map in the Google API Explorer, as can seen below for the 'shared' property of the 'extendedProperties':
However, when we use a Map, it's just showing up as 'empty' in the API explorer, and we can't add entries to it like we can in the Calendar API:
This is the code for that field:
private java.util.Map<String, String> impactedCustomersPrivate;
public Map<String, String> getImpactedCustomersPrivate() {
return impactedCustomersPrivate;
}
public void setImpactedCustomersPrivate(Map<String, String> impactedCustomersPrivate) {
this.impactedCustomersPrivate = impactedCustomersPrivate;
}
All other fields on the class, like Strings, Longs and even List are working as expected in the API Explorer. Furthermore, calling the method with the full Map from the Javascript client works, so the problem really is only that the Map is not visible from the API explorer.
I've been looking into the source code from the Calendar API Java Client (https://developers.google.com/api-client-library/java/apis/calendar/v3/java) and they use a Map for ExtendedProperties, see screenshot:
Played around with the annotations and extending GenericJson, but nothing helps.
Does anyone have a clue why the Map is not showing up in the API explorer? Doesn't work local dev server, nor deployed on GAE.. Calling the method with a regular POST request, or the Javascript Client Library, it works.
Thanks!



