json_api 0.3.0 json_api: ^0.3.0 copied to clipboard
JSON:API v1.0 (http://jsonapi.org) Document, Client, and Server
Implementation of JSON:API v1.0 in Dart #
Warning! This is a work-in-progress. While at v0, the API is changing rapidly. #
Feature roadmap #
The features here are roughly ordered by priority. Feel free to open an issue if you want to add another feature.
Client
- Fetching single resources and resource collections
- Collection pagination
- Fetching relationships and related resources and collections
- Fetching single resources
- Creating resources
- Deleting resources
- Updating resource's attributes
- Updating resource's relationships
- Updating relationships
- Compound documents
- Related collection pagination
- Asynchronous processing
- Optional check for
Content-Type
header in incoming responses
Server
- Fetching single resources and resource collections
- Collection pagination
- Fetching relationships and related resources and collections
- Fetching single resources
- Creating resources
- Deleting resources
- Updating resource's attributes
- Updating resource's relationships
- Updating relationships
- Compound documents
- Sparse fieldsets
- Sorting, filtering
- Related collection pagination
- Asynchronous processing
- Optional check for
Content-Type
header in incoming requests - Support annotations in resource mappers (?)
Document
- Support relationship objects lacking the
data
member - Compound documents
- Support
meta
members - Support
jsonapi
members - Structural Validation including compound documents
- Naming Validation
- JSON:API v1.1 features
Usage #
In the VM:
import 'package:json_api/client.dart';
final client = JsonApiClient();
In a browser:
import 'package:json_api/client.dart';
import 'package:http/browser_client.dart';
final client = JsonApiClient(factory: () => BrowserClient());
For usage examples see the functional tests.