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 :
Que manque donc-t-il à mon TU pour que mon code fonctionne là aussi ?com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "result" (class xxx), not marked as ignorable (one known property: "yyy"])
at [Source: {...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }Merci par avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Partager