[GeoNode-devel] Customizing the results of the /api/maps API endpoint?
Craig Stephenson
crstephenson at alaska.edu
Thu Aug 25 13:40:57 PDT 2016
Hi All,
I'm working on a project that uses GeoNode's API system. I've already had
some success adding/modifying existing endpoints, but I've hit a snag. I'm
hoping somebody can help point me in the right direction.
I want to include each map's keywords in the results of the following API
endpoint:
/api/maps
I've found that the API results for a specific map (e.g., /api/maps/3) can
be customized by adding a dehydrate function to the MapResource class in
the geonode/api/resourcebase_api.py file. For example, the keyword list can
be added to the results like this:
class MapResource(CommonModelApi):
...
def dehydrate(self, bundle):
map_id = bundle.data['id']
mapObj = Map.objects.filter(id=map_id)[0]
bundle.data['keyword_list'] = mapObj.keyword_list()
return bundle
But this dehydrate function does not get invoked when you access the entire
map list at /api/maps. How can I add data to the results for each map on
the /api/maps endpoint?
Thank you!
Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20160825/a9b4a4a3/attachment.html>
More information about the geonode-devel
mailing list