use*_*231 5 java response jax-rs jersey
我编写了一个使用 Jersey 的服务。在返回 Response 对象的最后一个类中,我有:
Stream<Revision> revisionss = dataSourceHandler.getRevisions( .... );
StreamingOutput stream = os -> objectHistoryWorker.revisionsTransfer(revisions, os);
return Response.ok(stream).build();
Run Code Online (Sandbox Code Playgroud)
这将获取一个 StreamRevision对象,将流转换为StreamingOutput,然后在Response.
我正在尝试编写一个集成测试来测试这个,我想看看Response. 换句话说,我想知道诸如
Revision存在多少对象Revision对象是否包含正确的信息我遇到的问题是它是一个OutboundJaxrsResponse,并且readEntity()不支持该方法。
它具有无论是否通过都会返回的方法(即状态代码 200),但我似乎无法找到一种实际读取响应内容的方法。
有没有办法获得这些信息?
(预期的响应内容将为 Json 格式)
班级org.glassfish.jersey.message.internal.OutboundJaxrsResponse 确实支持getEntity()。
如何获取 Java 字符串形式的响应内容。由此,我相信您可以弄清楚如何将其读取为 Json 或 XML ....
private String entity( Response response ) throws WebApplicationException, IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StreamingOutput output = (StreamingOutput) response.getEntity();
output.write( baos );
return baos.toString( "UTF-8" );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2741 次 |
| 最近记录: |