WebAPI - pytania praktyczne

0

Mam takie pytania praktyczne odnośnie tego jak powinno się robić aplikacje typu WebAPI:

  1. 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ę?
  2. 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?
  3. 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.
0
  1. Metoda działa i zwraca pustą kolekcję - status 200
  2. To zależy od architektury, możesz pobrać od razu wszystkie dane ale wcale nie musisz
  3. Api nie jest od prezentacji danych
0

Ad 1. http://racksburg.com/choosing-an-http-status-code/ - to chyba podpada pod "zasób nie istnieje".
Ad 2. Nie ma czegoś takiego "relacja 1:N". Jeśli zawsze potrzebujesz kontrahenta z jego usługami, to pobieraj taką strukturę na raz.
Ad 3. Api ma zwracać dane, w tym przypadku prawdopodobnie potrzebujesz różnych akcji do pobierania danych różnych typów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1