[TU][JUnit] Parser un json avec Jackson2 et Jax-rs
Bonjour à tous !
J'ai une application Spring Boot Jersey qui fonctionne très bien en l'état. Je suis actuellement en train de produire une série de Test Unitaire avec JUnit.
Problème : lorsque j'essaye de parser des chaînes json avec Jackson (ObjectMapper) sur une classe annotée Jax-rs, j'ai la très classique erreur suivante :
Citation:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "result" (class xxx), not marked as ignorable (one known property: "yyy"])
at [Source: {...
Que manque donc-t-il à mon TU pour que mon code fonctionne là aussi ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class JacksonContextProvider {
private final static ObjectMapper mapper = new ObjectMapper();
public JacksonContextProvider() {
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL)
.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT)
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.enable(SerializationFeature.INDENT_OUTPUT)
.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING)
.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)
.registerModule(new JaxbAnnotationModule());
}
public static ObjectMapper getMapper() {
if(mapper == null) {
new JacksonContextProvider();
}
return mapper;
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public class TestUnitaire {
@Test
public void tes() throws IOException {
String jsonObject = "...";
MyObject myObject = JacksonContextProvider.getMapper().readValue(jsonObject, MyObject.class);
assertNotNull(myObject);
}
} |
Merci par avance ! :D