代码之家  ›  专栏  ›  技术社区  ›  GeauxEric

在Quarkus中调用对另一个具有自定义媒体类型的服务的请求

  •  0
  • GeauxEric  · 技术社区  · 3 年前

    我正在开发公司内部Quarkus服务。在此服务中,我需要使用自定义的媒体类型异步调用另一个内部服务。

    当我遵循这份官方文件并写下这样的内容时:

    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.PathParam;
    import javax.ws.rs.Produces;
    import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
    
    @Path("/api")
    @RegisterRestClient
    public interface InternalService {
    
      String CUSTOM_TYPE = "application/custom";
    
      @GET
      @Path("/hello/{id}")
      @Produces({CUSTOM_TYPE})
      Uni<EntityClass> getHello(@PathParam("id") long id);
    }
    

    这个 EntityClass 在我的例子中,实际上是protobuf消息。

    在示例中( https://quarkus.io/guides/rest-client ),看起来可以直接注入bean:

        @Inject
        @RestClient
        CountriesService countriesService;
    

    我有几个问题:

    1. resteasy 已经为常见媒体类型提供了实现?
    2. 我如何实施 InternalService 我的自定义媒体类型的界面?