我正在尝试在泽西岛发送一个自定义的对象arraylist,但是没有成功如何实现。
我的Clode,
Response response = target.request().post( EntityList), MediaType.APPLICATION_JSON_VALUE));
如何实现这一目标?
此致
罗希特夏尔
答案 0 :(得分:3)
post
方法有三种风格
Response post(Entity<?> entity)
<T> T post(Entity<?> entity, Class<T> responseType)
<T> T post(Entity<?> entity, GenericType<T> responseType)
由于您想要获得Response
,您将使用第一个。{p>如您所见,它接受Entity
。该类有一个静态json
方法,您可以将任意对象传递给它。只要你有一个序列化程序(像杰克逊这样的提供者)来处理这个编组(并且必要时配置它),那么下面的东西应该可以正常工作
Response response = target.request().post(Entity.json(entityList));
如果您收到没有找到MessageBodyWriter的异常,请尝试添加此依赖项
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>${jersey.version}</version>
</dependency>
这应该自动注册到您的Client
(版本2.9及更高版本)。