This project uses Quarkus, the Supersonic Subatomic Java Framework.
Find All Students
query{ students {
id,
studentIdentifier,
studentjson
}}
Mutation Create new records
mutation {
newOrganization(data: {name: "Acme"} ) {
id
} }
mutation {
newDepartment(data: {name: "Marketing", organizationId: "1"} ) {
id
} }
Query Find by Department ID
{department(id: 9) {
id,
name
}}
Query Update Department
mutation {updateDepartment(data: { id: 6,
organizationId: 2,
name: "New Department 2023"})
}
Query to Delete by Department ID
mutation deleteDepartment {
deleteDepartment(departmentId: 4)
}
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
You can run your application in dev mode that enables live coding using:
./mvnw compile quarkus:dev
To access embeded h2 database
jdbc url: jdbc:h2:mem:testDB Username: admin Password: admin
NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
==This currently does not work. I am investigating==.
./mvnw compile quarkus:dev -Dquarkus.profile=test
To access embeded h2 database
jdbc url: jdbc:h2:mem:testDB Username: admin Password: admin
The application can be packaged using:
./mvnw package
It produces the quarkus-run.jar
file in the target/quarkus-app/
directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/
directory.
The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar
.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.type=uber-jar
The application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar
.
You can create a native executable using:
./mvnw package -Pnative
'mutation { newOrganization(data: {name: "ERC1"} ) { id } }'
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Pnative -Dquarkus.native.container-build=true
You can then execute your native executable with: ./target/quarkus-1.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
- SmallRye GraphQL Client (guide): Create GraphQL Clients
- Quarkus Extension for Spring Web API (guide): Use Spring Web annotations to create your REST services
- SmallRye GraphQL (guide): Create GraphQL Endpoints using the code-first approach from MicroProfile GraphQL
- Quarkus Extension for Spring Boot properties (guide): Use Spring Boot properties annotations to configure your application
- JDBC Driver - PostgreSQL (guide): Connect to the PostgreSQL database via JDBC
Start coding with this Hello GraphQL Query
Spring, the Quarkus way! Start your RESTful Web Services with a Spring Controller.