I'm currently struggeling returning http response status-codes on certain conditions. Let's say, the return objetct of taskService.getNewTasks is null. In this case I want to return status-code 404. On some exception I want to return some 50x, and so on.
My code so far
@RestController
public class TaskController {
  @Autowired
  private TaskService taskService;
  @GetMapping(path = "gettasks")
  private Future<Tasks> getNewTasks() {
    return taskService.getNewTasks();
  }
  ...
}
@Service
public class TaskService {
  @Async
  public Future<Tasks> getNewTasks() {
    ...
    return CompletableFuture.completedFuture(tasks);
  }
}