在我的 Quarkus 扩展中,我想使用 REST Client Reactive,但是在运行日志中发生了异常:
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type cn.ecpark.quarkus.extension.discovery.DiscoveryOpenApi and qualifiers [@RestClient]
- java member: cn.ecpark.quarkus.extension.discovery.DiscoveryProvider#discoveryOpenApi
- declared on CLASS bean [types=[cn.ecpark.quarkus.extension.discovery.DiscoveryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=cn.ecpark.quarkus.extension.discovery.DiscoveryProvider]
部署模块代码片段:
@BuildStep
protected void additionalBeans(BuildProducer<AdditionalBeanBuildItem> additionalBeans) {
additionalBeans.produce(AdditionalBeanBuildItem.builder()
.addBeanClass(DiscoveryProvider.class)
.setUnremovable().build());
}
运行时模块代码片段:
@ApplicationScoped
public class DiscoveryProvider {
// @Inject
@RestClient
DiscoveryOpenApi discoveryOpenApi;
}
@Path("/v1/ns/")
@RegisterRestClient(configKey="discovery.nacos")
public interface DiscoveryOpenApi {
@POST
@Path("/instance")
@Produces(MediaType.TEXT_PLAIN)
Uni<String> registerInstance(@QueryParam("namespaceId") String namespaceId, @QueryParam("groupName") String groupName, @QueryParam("serviceName") String serviceName,
@QueryParam("clusterName") String clusterName, @QueryParam("ip") String ip, @QueryParam("port") @DefaultValue("0") Integer port,
@QueryParam("weight") Double weight, @QueryParam("enabled") Boolean enabled, @QueryParam("healthy") Boolean healthy,
@QueryParam("metadata") String metadata, @QueryParam("ephemeral") Boolean ephemeral);
}
开发插件时应该如何使用Rest Client?