Spree APIs allow you to fetch multiple associated resources in one API call, both for singular resources and collections, eg. we can fetch a Product with all of its variants and images:
Copy
curl --request GET \ --url 'https://demo.spreecommerce.org/api/v2/storefront/products/classic-varsity-top?include=variants%252Cimages' \ --header 'Accept: application/vnd.api+json'
This will return a JSON response with data[relationships] node (links to what resources connects to which) and included node (images and variants JSON responses).This way you can easily control what resources you want to include in the response and
avoid making multiple API calls.
Open source libraries to transform JSONApi to a flat JSON response
As you probably noticed the JSON response can sometimes be quite big and hard to follow. To ease working with included resources we recommend checking out one of the open-source libraries that can help deserialize responses.