REST features
JSON:API client and server implementation with the possibility
of shared, fully type-safe repository interfaces.
The server implementation allows implement JSON:API compliant endpoints. The client allows
to access and test such endpoints.
Support for multiple formats. JSON:API for a normalized REST endpoint support complex
object graphs. And a similar, but more basic REST endpoint for simpler applications.
For more information see
here.
Pattern for Sorting, filtering and pagination that can be
reused across all resources in an application.
Mobile friendly. Fetch complex object graphs in a
single request with JSON:API inclusions. Fetch partial objects with JSON:API sparse field sets.
Use together with the popular OkHttp library on
Android devices.
Atomically insert, update and delete multiple resources with JSON
Patch. Operations thereby may be executed within the same transaction. Each operation
may thereby separately perform validation and return a status and any potential errors.
Standardized and consistent error handling across your application.
JSON:API thereby comes with many predefined fields. For example, source pointers allow
user interfaces automatically associate validation errors with the fields causing them.
Crnk comes with exception mappers for many "popular" exceptions and allows to
add custom further mappers.
Not limited to JSON:API through a flexible,
resource-oriented architecture. Serializers allow to implement other REST protocols
or support for formats like CSV/Excel.
Traditional and (experimental) reactive programming API for responsive, resilient,
elastic applications.
All batteries included: Setup the resource model of your
application and implement the methods to access them. Crnk comes with defaults
that takes care of rest from parameter parsing to exception handling. This
allows you to focus on what matters: your application.