Spring MVC: Comment retourner un type différent dans le corps ResponseEntity

Dans mon gestionnaire de requêtes que je veux faire la validation de certains et sur la base des résultats de la vérification de la validation, je reviendrai différents de réponse (succès/erreur). J'ai donc créer une classe abstraite pour la réponse de l'objet et de faire 2 sous-classes pour les cas d'échec et de succès. Le code ressemble à quelque chose comme ça, mais il ne compile pas, se plaindre que errorResponse et successResponse ne peut pas être convertie AbstractResponse.

Je suis assez nouveau à Java Générique et Spring MVC, donc je ne sais pas de façon simple de résoudre ce problème.

@ResponseBody ResponseEntity<AbstractResponse> createUser(@RequestBody String requestBody) {
    if(!valid(requestBody) {
        ErrorResponse errResponse = new ErrorResponse();
        //populate with error information
        return new ResponseEntity<> (errResponse, HTTPStatus.BAD_REQUEST);
    }
    createUser();
    CreateUserSuccessResponse successResponse = new CreateUserSuccessResponse();
    //populate with more info
    return new ResponseEntity<> (successResponse, HTTPSatus.OK);
}

source d'informationauteur dnang | 2013-10-31