title: Is it okay to return 404 when child resources do not exist?
body: <p>Imagine a web app which lets you manage chat room servers &amp; the chat rooms in them. Each server can host zero or more chatrooms. When a server has zero chat rooms, then the back end api (app/server7/chatrooms) of the app returns a 404 to the UI. The UI then shows "No chat rooms in this server, click here to create some." But, when there are some chat rooms, it returns list of rooms and information about them.</p>
  
  <p>This seems like bad design to me. Say if we create chat rooms in a server, but the back end does not actually create them, or the chatrooms resource gets deleted etc. Then, the UI will wrongly assume that there are no chatrooms.</p>
  
  <p>I believe that chatrooms resource should be created when a server is created. Also, the chatrooms call should return a list of zero elements instead of 404.</p>
  
  <p>Is my reasoning correct ?</p>