Chapter 16. Additional Quarkus Features
This chapter contains features of Quarkus that don’t fit into any other chapter. That, of course, doesn’t make them any less useful! In this chapter, you’ll learn about the following topics:
-
Quarkus’s templating solution, Qute
-
OpenAPI integration
-
Sending emails
-
Scheduling functions
-
Application data caching
16.1 Creating Templates with the Qute Template Engine
Problem
You want to create templates and render them with specific data.
Solution
Use the Qute template engine.
Qute is a templating engine designed specifically to meet the Quarkus needs of minimizing the usage of reflection and supporting the imperative and reactive style of coding.
Qute can be used as a standalone library (generating reports to disk or generating e-mail body messages) or together with JAX-RS to deliver HTML content.
To start using Qute with JAX-RS, add the resteasy-qute extension:
./mvnw quarkus:add-extension -Dextensions="quarkus-resteasy-qute"
By default, templates are stored at the src/main/resources/templates directory and its subdirectories.
The following might be a simple template as a plain-text file:
Hello {name}!
The template is a simple sentence parametrized with the name parameter.
To render the template with concrete data, you just need to inject the io.quarkus.qute.Template instance and provide the template parameters:
@Injectio.quarkus.qute.Templatehello;@GET@Produces(MediaType.TEXT_PLAIN)publicTemplateInstancehello(){