J'ai cette méthode dans une application Spring Boot v2.1.0.RELEASE.
@GetMapping(value = "/wildProject", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity> getList(HttpServletRequest request,
HttpServletResponse response)
throws Exception {
List list = authorisationService.getList();
System.out.println("-----------------");
System.out.println(list);
System.out.println("-----------------");
return ok().body(list);
}
et ce test:
this.mockMvc.perform(get("/wildProject")
//.accept(MediaType.APPLICATION_JSON_UTF8_VALUE))
// .andDo(print())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE))
.andExpect(status().isOk());
et voici le résultat du test:
20:03:38.253 [main] DEBUG o.s.w.s.m.m.a.HttpEntityMethodProcessor - Utilisation de 'application/json', donné [*/*] et pris en charge [application/json]
20:03:38.255 [main] WARN o.s.w.s.m.s.DefaultHandlerExceptionResolver - Résolu [org.springframework.web.HttpMediaTypeNotAcceptableException: Impossible de trouver une représentation acceptable]
20:03:38.256 [main] DEBUG o.s.t.w.s.TestDispatcherServlet - Terminé 406 NON_ACCEPTABLE
MockHttpServletRequest:
Méthode HTTP = GET
URI de la requête = /wildProject
Paramètres = {}
En-têtes = {Content-Type=[application/json;charset=UTF-8]}
Corps = null
Attributs de session = {}
Gestionnaire:
Type = com.bonansa.controller.AuthorisationController
Méthode = public org.springframework.http.ResponseEntity> com.bonansa.controller.AuthorisationController.getList() throws java.lang.Exception
Asynchrone:
Démarré de manière asynchrone = false
Résultat asynchrone = null
Exception résolue:
Type = org.springframework.web.HttpMediaTypeNotAcceptableException
ModelAndView:
Nom de la vue = null
Vue = null
Modèle = null
FlashMap:
Attributs = null
MockHttpServletResponse:
Statut = 406
Message d'erreur = null
En-têtes = {}
Type de contenu = null
Corps =
URL transférée = null
URL redirigée = null
Cookies = []
et
@JsonSerialize(as = IWildProject.class)
public interface IWildProject {
..
}