See it in work here
Answer: REST Api.
- Proper collection URI should return actual values, not urls for them. Slows down app, slows down development.
- Proper resource nesting should be done different way. Once again, not with URLs, but IDs or objects.
- Proper response to POST request is whole just created object. Otherwise, there is no new ID, only fetching new one from server. Also, this destroys angular 2 way-binding.
- Once again. Recourse nesting. First you get urls, then get elements one by one, then fetch urls for nested collection and once again, fetching them one by one. Four level promises are not good.