我正在尝试使用jersey客户端访问REST端点。此端点接受formParams,响应应为JSON格式。在访问其余端点时,我遇到错误
com.fasterxml.jackson.databind.JsonMappingException:找不到类javax.ws.rs.core.Form的序列化程序,并且没有发现创建BeanSerializer的属性(为了避免异常,请禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))强>
我的REST服务接受formParam和queryParam参数。要通过客户端调用REST端点,我使用下面的代码。 form是Form的一个实例,它有表单参数。
Client client = ClientBuilder.newClient();
client.register(LogFilter.class);
WebTarget wr= client.target(getTarget());
wr = setPath(wr, paths);
return wr.request(MediaType.APPLICATION_FORM_URLENCODED)
.accept(MediaType.APPLICATION_JSON)
.post(Entity.form(form), Response.class);
知道这样的错误可能是什么原因?
答案 0 :(得分:0)
我将回答我自己的问题。 LogFilter试图将转换表单实体写入Json字符串,因此出错。 只评论该过滤器,解决了问题。