Java 我可以反序列化JAX-RS响应吗?

Java 我可以反序列化JAX-RS响应吗?,java,jax-rs,Java,Jax Rs,我编写了一个JAX-RS API,它看起来像: @POST @Path("findallbyname") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.TEXT_PLAIN) Response findAllByName(String payload); 其中Response是javax.ws.rs.core.Response。响应的实体属性是一个列表,因此此响应只返回字符串列表的JSON序列化 在另一个应用程序中,我像这样

我编写了一个JAX-RS API,它看起来像:

@POST
@Path("findallbyname")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.TEXT_PLAIN)
Response findAllByName(String payload);
其中
Response
javax.ws.rs.core.Response
响应
实体
属性是一个
列表
,因此此响应只返回字符串列表的JSON序列化

在另一个应用程序中,我像这样调用API(使用http远程处理库):

好的,这看起来像是一个简单的object serde问题——看起来像是因为
javax.ws.rs.core.Response
是一个抽象类型,它不能在客户端反序列化(根据服务器请求日志,请求通过并返回状态为200)


我的问题是,由于我最初的API是用抽象的
响应
对象类型来响应的,所以在对客户端得到的响应对象进行反序列化时,我是否运气不佳?我可以更改API,但我想先询问并看看是否有更好的方法来解决客户端的反序列化问题。

我可以知道您是否最终找到了答案吗?嘿@Matt,我只是更改了API以返回我的
CustomObject
类型,并修改了客户端以接收相同的类型。Jaxrs自动处理两端的serde。FWIW,我使用Immutables库生成POJO,这使serde在网络上变得轻而易举。
Service service = JaxRsClient.builder().build(Service.class, "<user-agent>", "<uri>");
Response response = service.findAllByName("some string");
Caused by: com.fasterxml.jackson.databind.JsonMappingException: 
    Can not construct instance of javax.ws.rs.core.Response: 
        abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information
        at [Source: java.io.BufferedReader@2ef14fe; line: 1, column: 1]