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:
@Inject
io
.
quarkus
.
qute
.
Template
hello
;
@GET
@Produces
(
MediaType
.
TEXT_PLAIN
)
public
TemplateInstance
hello
(
)
{
Get Quarkus Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.