我正在开发公司内部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;
我有几个问题:
-
做
resteasy
已经为常见媒体类型提供了实现?
-
我如何实施
InternalService
我的自定义媒体类型的界面?