Crnk comes with two kinds of examples detailed in the subsequent sections.

Main Example

The main example application showcases an end-to-end example with Crnk, Angular, Spring Boot, @ngrx/store and ngrx-json-api.

The main example application can either be run with docker:

docker run --name=crnk -p 8080:8080 crnk/example
or by checking it out and run with Gradle:
./gradlew run
More information and example URLs that show the power of Crnk are available here. A number of URLs to play around (there are more on the example page): Angular frontend application. JSON Home document provided by crnk-home listing all repositories. crnk-ui allowing to browse all repositories. Simple in-memory repository with an artificial delay ( MovieEntity JPA entity exposed as repository with crnk-jpa. See ScheduleEntity Another JPA entity exposed as repository with crnk-jpa. See[name]
Sorting, filtering and pagination. Notice the total resource count in the meta data and the various pagination links. ScheduleEntity mapped to ScheduleDto and exposed as repository. Notice the additional computed attribute upperName. For the setup checkout Meta data of all resources provided by crnk-meta. Have a look also at the relationships, such as to the attributes.

Integration Examples

Smaller example applications outlines the integration of Crnk into various frameworks like Dropwizard, JEE and Spring Boot, see crnk-examples.

spring-boot-minimal-example Showcases a minimal setup Spring Boot setup to get a JSON:API endpoint running with a few lines of code.
spring-boot-example Showcases a medium-sized Spring Boot setup making use of various modules like validation, jpa and security.
spring-boot-microservice-example Sets up two independent Spring Boot micro services. Both offer a JSON:API endpoint and a relationship between the two services is established. This allows the use of JSON:API features across multiple services. This includes, among others, proper (automatic) linking and support for inclusions.
dropwizard-simple-example Showcases how to use JSON:API with Dropwizard.
dagger-vertx-example Showcases a very light-weight flavor of setting up crnk with Vert.x, Dagger, Reactor and OpenJ9. The example needs just 4.5 MB of space, 35 MB of memory and less than 1000 milliseconds to start.
wildfly-example A Wildfly/JEE setup using JAX-RS.
jersey-example A plain JAX-RS example without JEE container.