/code-with-quarkus-kotlin

Quarkus kotlin sample related to Validation, MariaDB CRUD, Error handling etc.

Primary LanguageHTMLApache License 2.0Apache-2.0

code-with-quarkus-kotlin

This project is Quarkus Learning project using Kotlin.

The Goal of this project.

Lightweight skeleton project for Quarkus with Kotlin.

What is the plan for this project.

- [ ] MariaDB reactive CRUD sample via native SQL.

  • MariaDB reactive CRUD sample via Panache.
  • Relational Data operation sample.
  • Request Validation
    • Request Validation for Path variable
    • Request Validation for Query parameter
    • Request Validation for JSON Body
  • Rest Client API call
  • Error handling
  • Logging
  • Unit Test

If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./gradlew quarkusDev

NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

Packaging and running the application

The application can be packaged using:

./gradlew build

It produces the quarkus-run.jar file in the build/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the build/quarkus-app/lib/ directory.

The application is now runnable using java -jar build/quarkus-app/quarkus-run.jar.

If you want to build an über-jar, execute the following command:

./gradlew build -Dquarkus.package.type=uber-jar

The application, packaged as an über-jar, is now runnable using java -jar build/*-runner.jar.

Creating a native executable

You can create a native executable using:

./gradlew build -Dquarkus.package.type=native

Or, if you don't have GraalVM installed, you can run the native executable build in a container using:

./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true

You can then execute your native executable with: ./build/code-with-quarkus-kotlin-1.0.0-SNAPSHOT-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling.

Related Guides

  • RESTEasy Reactive's REST Client (guide): Call REST services reactively
  • Reactive MySQL client (guide): Connect to the MySQL database using the reactive pattern
  • JDBC Driver - MariaDB (guide): Connect to the MariaDB database via JDBC
  • Kotlin (guide): Write your services in Kotlin
  • Agroal - Database connection pool (guide): Pool JDBC database connections (included in Hibernate ORM)

Provided Code

RESTEasy Reactive

Easily start your Reactive RESTful Web Services

Related guide section...