I understand that Drupal 9 out of box is very capable as a decoupled aka headless Drupal serves as a back-end for other apps (the core REST, JSONAPI capability).
However, I am thinking about the reverse way: having Drupal 9 as a pure presentation layer that pulls and displays data from various external micro-service APIs. For example, an external API outputs a product list JSON and a Drupal page requests that data to shown it on its page.
It might not need to map the pulled data into Drupal entities, but simply display them to Drupal page. (The reason I don't want to map data and store into Drupal is that it would create duplicated dataset, which probably isn't a good practice for micro-services architecture set up.)
Are there existing recommended approaches, modules for such case in the market for Drupal 9? If no modules are suitable for this case, what are the parts of dev I can further look into (for example hooks used by the Views module)?
UPDATED @ 26th Sep 2021
For reference and anyone may be interested in such situation, I end up with Feeds ecosystem.
Below are contributed modules work together for this:
- Feeds
- Extensible Parsers
- Feeds Tamper
Feeds (main) doesn't have JSON format parsing, Feeds Extensive Parsers (feeds_ex) add JSON support, utilize the JsonPath libraries.
Always use 'composer' to install these as lots of dependencies to solve. Use Ludwig module to check if any required libraries missing.
A great reference here:
https://www.mediacurrent.com/blog/drupal-8-feeds-import-external-json-api/
Updated:
Also
https://www.drupal.org/project/views_json_source