Jersey 服务端默认支持所有用于请求和响应的 Java 类型和表示,也支持在客户端。例如,处理一个响应实体(或表示)作为一个字节流使用InputStream 如下:
InputStream in = response.readEntity(InputStream.class);
... // Read from the stream
in.close();
注意关闭字节流
使用 File 实例 POST 一个文件
File f = ...
...
webTarget.request().post(Entity.entity(f, MediaType.TEXT_PLAIN_TYPE));
新的应用程序定义的表示为 Java 类型需要相同的 JAX-RS 实体提供扩展接口的实现作为服务器端的J AX-RS API支持,即 MessageBodyReader 和 MessageBodyWriter,用于请求和响应的实体(或进、出的表示)。
基于提供者接口的类和实现需要注册在 JAX-RS 或 Jersey Client API 组件,实现 Configurable 合同(ClientBuilder, Client, WebTarget or ClientConfig),正如在前面的章节所示。一些媒体类型是 JAX-RS 的形式提供的 Feature 的一个概念,允许扩展提供者结合多个不同的提供者的扩展和/或配置属性为最终用户提供简化的注册和配置。例如,, MoxyJsonFeature 可以注册,并通过 MOXy 配置启用 JSON 的绑定支持。