It totally depends upon the use case. For example, you might not need to fetch all the departments and their professors for a single university. I believe you might need the api endpoints as:
- GET /university - will fetch all the universities objects (better to be paginated)
- GET /university/{id}/department/ - will fetch all the departments for the selected university
- GET /university/{id}/department/{deptId}/professors - will fetch all the professors of the selected department of selected university.
But it totally depends upon your usecase. The usecase i presented may differ from what you need.