Ark provides a Quarkus extension that auto-configures HTTP clients as CDI beans.
| Extension | Serializer | Dependency |
|---|---|---|
ark-quarkus-jackson |
Jackson 2.x (JacksonClassicSerializer) |
com.fasterxml.jackson |
<dependency>
<groupId>xyz.juandiii</groupId>
<artifactId>ark-quarkus-jackson</artifactId>
</dependency>This auto-configures:
JsonSerializer- using Quarkus-managedObjectMapperHttpTransport-ArkJdkHttpTransport(sync)MutinyHttpTransport-ArkVertxMutinyTransport(reactive)ArkClient.Builder- sync,@DependentscopeMutinyArkClient.Builder- reactive,@Dependentscope
@ApplicationScoped
public class UserService {
private final Ark client;
@Inject
public UserService(ArkClient.Builder builder) {
this.client = builder
.baseUrl("https://api.example.com")
.build();
}
public User getUser(String id) {
return client.get("/users/" + id)
.retrieve()
.body(User.class);
}
}@ApplicationScoped
public class ReactiveUserService {
private final MutinyArk client;
@Inject
public ReactiveUserService(MutinyArkClient.Builder builder) {
this.client = builder
.baseUrl("https://api.example.com")
.build();
}
public Uni<User> getUser(String id) {
return client.get("/users/" + id)
.retrieve()
.body(User.class);
}
}@Path("/users")
public class UserResource {
@Inject MutinyArk client;
@GET
@Path("/{id}")
public Uni<User> getUser(@PathParam("id") String id) {
return client.get("/users/" + id)
.retrieve()
.body(User.class);
}
}Configure globally and per-client via application.properties:
ark.logging.level=BODY
ark.client."user-api".base-url=https://api.example.com
ark.client."user-api".http-version=HTTP_2
ark.client."user-api".connect-timeout=5
ark.client."user-api".read-timeout=15
ark.client."user-api".tls-configuration-name=my-certSee Quarkus Jackson Extension for full configuration reference.
Supported out of the box. No additional configuration needed.
- Quarkus Jackson Extension - full configuration, overrides, TLS, logging
- Declarative JAX-RS Clients -
@RegisterArkClientproxy clients - Mutiny Client - Mutiny-specific usage
- Getting Started