Какой тип возвращаемого значения сделать в controller spring boot?
В контроллер приходит GET запрос, зависимости от запроса мне надо отдавать в ответ разные сущности или ошибки.
насколько целесообразно делать тип возвращаемого значение: ResponseEntity<Object> или Object, или же надо точно указать какой объект будет возвращён?
Возвращаемые вами сущности настолько мало общего имеют, что нельзя выделить какой-то класс типа BasicDTO с общими чертами, а все остальное пихать в наследников ?
Похоже, вам нужно поработать над своим API.
Сделайте так, чтобы get запрос на конкретный url отдавал какой-то конкретный объект.
Это бужет лучше со всех сторон.
@RestController
public class MyController {
@ExceptionHandler
public ResponseEntity<String> exceptionHandler(Exception e) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
}
@GetMapping("/all")
public ResponseEntity<List<MyObjects>> getAll() {
var list = service.getAll();
return ResponseEntity.ok(list);
}
}
Если что-то идет не так - вы бросаете эксепшен. ExceptionHandler его ловит и отправляет пользователю.
При этом контроллер сам у вас кристально чистый.