Mam takie pytania praktyczne odnośnie tego jak powinno się robić aplikacje typu WebAPI:
- Jeżeli wyświetlam w programie kontrahentów danej grupy i oni nie istnieją (grupa jest pusta) to powinienem zwrócić 404 i obsłużyć to w Angularze (co wiąże się z mało eleganckim błędem w konsoli) czy zwrócić 200 i pustą kolekcję?
- W jaki sposób zazwyczaj pobiera się zależne elementy relacji 1:N? Pobieram kontrahenta w jednym zapytaniu RESTowym, a potem pobieram jego usługi, które mają ustawione CustomerId na Id tego kontrahenta? To daje chyba dosyć dużo zapytań jeżeli chcę wyświetlić wielu kontrahentów i ich usługi? Czy przy większej liczbie jakoś się to optymalizuje?
- Jak obsługuje się przez WebAPI dziedziczenie? Zakładamy, że kontrahent ma Usługi (klasa abstract), ale te usługi dzielą się na Usługi jednorazowe i Usługi abonamentowe (klasy z innymi polami). Jak w tej sytuacji powinno się prezentować te dane przez API?
Z góry dzięki za pojaśnienie tych tematów.