I have never thought about an API as being about raw data. The API is whatever the application wants - and rarely is that an SQL proxy.
A frontend engineer building a webapp probably wants to plug in discrete business entities into their frontend app, component by component. But they probably want to be able to make batch call, and for backend performance and complexity to be completely masked. A mobile developer probably wants the above AND to grab a special aggregated mobile view of the data.
In its simplest form, Aggregator would be a simple web page that invokes multiple services to achieve the functionality required by the application. Since each service (Service A, Service B, and Service C) is exposed using a lightweight REST mechanism, the web page can retrieve the data and process/display it accordingly. If some sort of processing is required, say applying business logic to the data received from individual services, then you may likely have a CDI bean that would transform the data so that it can be displayed by the web page.
http://blog.arungupta.me/microservice-design-patterns/
Which to paraphrase is saying - you can just access services via widgets in a webpage. But if you need to process data for the frontend, use a backend service.
I've googled from "frontend view aggregation" and found nothing of note. Which suggests to me, if your data aggregation going to stay as simple as a few widgets on a single client platform - by all means stay in frontend while you can. But the second the app grows in complexity, you will be presented with problems that can only be solved by a backend solution such as:
- Code reuse for enrichment/transformation across client platforms/views
- Rate limiting
- Performance/caching
- Security
Considering the above, I think backend view aggregation is an important piece tech that only rarely could get away with at scale.
The good news is there is a healthy ecosystem e.g. Strongloop (js) or plain old Express (node) to name a few. Plus there is a good amount of literature from engineering heros on how to implement more complicated versions (spotify, )
EDIT: Correct Kong does not support Api aggregation at this moment