Work with Ben to design a RESTful API that will be more suitable for the Geo-map page. This design can be helpful for future work when we decide to rework or improve the existing RESTful API.
The redesign may solve the following problems:
- Reduce the number of REST calls for one page, this will improve the performance, and shortening the page's loading time.
- Save bandwidth. Pagination is not suitable for the geo-map page because we need all nodes to show up on the map at one time. Hence slim the size of one record became essential. The current RESTful response for getting a node contains around 80 fields, while only 12 are used for the geo-map page. The RESTful call for alarms has more than 40 fields, include two text paragraphs of descriptions. The geo-map page only uses 7 fields.
- UI data can be more consistent. Doing separate RESTful calls for Alarms and Nodes may cause inconsistent data for the alarm, node page, and map subpage. Because the alarm and node records for one node may arrive at a different time.