Я использую Jersey 2.8 Client
для отправки данных в конечную точку RESTful. Код выглядит как
final Client client = ClientBuilder.newClient();
final WebTarget target = client.target(url).path("inventorySummary");
final Invocation.Builder builder = target.request().header("Content-Type", MediaType.APPLICATION_JSON);
final ObjectNode payload = getObjectMapper().createObjectNode();
payload.put("startDate", DateTime.now().toString());
payload.put("endDate", DateTime.now().plusDays(30).toString());
payload.put("networkId", 0);
final Response response = builder.accept(MediaType.APPLICATION_JSON).post(Entity.entity(payload, MediaType.APPLICATION_JSON));
assertStatus(Response.Status.OK.getStatusCode(), response);
final JsonNode jsonReply = parseResponse(response);
getObjectMapper() выглядит как
public ObjectMapper getObjectMapper() {
return new ObjectMapper()
.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false /* force ISO8601 */)
.configure(SerializationConfig.Feature.WRITE_ENUMS_USING_TO_STRING, true)
.configure(DeserializationConfig.Feature.READ_ENUMS_USING_TO_STRING, true)
.setSerializationInclusion(JsonSerialize.Inclusion.ALWAYS);
}
Когда я пытаюсь запустить тест, я вижу ошибку как
MessageBodyWriter not found for media type=application/json, type=class org.codehaus.jackson.node.ObjectNode, genericType=class org.codehaus.jackson.node.ObjectNode
Что мне здесь не хватает?
Спасибо