A Vuex module for accessing JSONAPI data with automatic normalization and relationship handling.
jsonapi-vuex is a Vuex module designed to simplify working with JSONAPI-compliant APIs in Vue.js applications. It automatically normalizes JSONAPI data into a more accessible structure within the Vuex store, handling relationships and reducing boilerplate code for API interactions.
Vue.js developers building applications that consume JSONAPI-based backends, particularly those using Vuex for state management who want streamlined data handling.
It eliminates the complexity of manually restructuring JSONAPI responses, provides built-in relationship management, and integrates seamlessly with Vuex patterns, saving development time and reducing errors.
Use a JSONAPI api with a Vuex store, with data restructuring/normalization.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically restructures JSONAPI nested data into a flat format with attributes as top-level keys, eliminating manual parsing and making data access intuitive in Vue components.
Adds relationships as getter properties that dynamically fetch related store data, reducing boilerplate code for managing linked resources in complex applications.
Provides actions, getters, and mutations aligned with Vuex patterns for CRUD operations, allowing developers to use familiar Vuex workflows with JSONAPI backends.
Supports features like clean patches to send only modified data and merging records for sparse fieldsets, offering fine-grained control over API interactions.
The README explicitly states it's deprecated in favor of pinia-jsonapi, meaning no new features, bug fixes, or support for modern Vue ecosystems, making it risky for new projects.
Latest versions support only Vue3, with Vue2 stuck on an older release (v4.5.3), forcing developers to use outdated software or undertake a migration effort for upgrades.
Requires integration with Vuex and Axios, and offers numerous config options like recursive relationship detection and JSONPath filtering, which can be overwhelming for simpler use cases or newcomers.