我正在为 Quarkus 编写 POC。我正在使用此快速入门指南来构建 REST 客户端。我将集成的 REST 服务是第三方。这是我当前实现的一个简单示例:
@Path("/v1")
@RegisterRestClient
public class EmployeeApi {
@POST
@Path("/employees")
ApiResponse createEmployee(@RequestBody Employee employee)
}
这工作正常。我遇到的问题是第三方 API 将根据成功/失败返回响应正文。在失败的情况下,它会在响应正文 ( ApiResponse
) 中提供有关失败原因的详细信息。当它成功时,它什么也不返回。这会导致 Quarkus 抛出以下异常:
javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type application/octet-stream and type com.test.app.ApiResponse
我试图包装ApiResponse
一个Optional
类型,但没有解决问题。我在 Quarkus / RESTEasy 文档中完全看不到任何可以表明解决方法的内容。
我想知道我是否应该javax.ws.rs.core.Response
改用。