Skip to main content
Version: 3.3.0

JSON:API Driver

Targets any JSON:API-compliant backend (Rails, Django, .NET, Java, Elixir, …).

Configure

import { DriverEnum, provideNgQubee } from 'ng-qubee';

bootstrapApplication(AppComponent, {
providers: [provideNgQubee({ driver: DriverEnum.JSON_API })]
});

Wire format

ConcernOutput
Filtersfilter[status]=active
Per-type fieldsfields[articles]=title,body&fields[people]=name
Includesinclude=author,comments.author
Sortsort=-created_at,name (- = DESC)
Paginationpage[number]=1&page[size]=15

Supported features

addFilter, addFields, addIncludes, addSort, setLimit, setPage and their delete counterparts.

Unsupported features

  • addFilterOperator / deleteOperatorFiltersUnsupportedFilterOperatorError
  • addSelect / deleteSelectUnsupportedSelectError (use addFields for column projection)
  • setSearch / deleteSearchUnsupportedSearchError

Response shape

{
"data": [...],
"meta": {
"current-page": 1,
"per-page": 10,
"total": 100,
"page-count": 10,
"from": 1,
"to": 10
},
"links": {
"first": "url",
"prev": "url",
"next": "url",
"last": "url"
}
}

Default key paths are configured in JsonApiResponseOptions. Override via provideNgQubee({ driver: DriverEnum.JSON_API, response: { /* … */ } }).