В моем обработчике запросов я хочу сделать некоторую проверку и на основании результатов проверки проверки вернусь к другому ответу (успех/ошибка). Поэтому я создаю абстрактный класс для объекта ответа и делаю 2 подкласса для случая отказа и успешного случая. Код выглядит примерно так, но он не компилируется, жалуясь, что errorResponse и successResponse не могут быть преобразованы в AbstractResponse.
Я новичок в Java Generic и Spring MVC, поэтому я не знаю простого способа решить эту проблему.
@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);
}