• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Architektura REST / endpointy - czy mogą updatować kilka tabeli naraz?

Object Storage Arubacloud
+1 głos
241 wizyt
pytanie zadane 21 czerwca 2021 w C# przez tomasz12345 Użytkownik (750 p.)
Witam,

Czy częstą praktyką jest ze jednen endpoint updatuje nam np. 2 tablice w bazie danych?

Załóżmy, że mamy np. wirtualny dziennik ocen i chcemy mieć możliwość dodania studenta i wpisania odrazu wszystkich jego ocen. ( mając dwie klasy Student i Grades)

Ktoś może powiedzieć jak to wygląda w praktyce?

1 odpowiedź

0 głosów
odpowiedź 22 czerwca 2021 przez Wiciorny Ekspert (269,710 p.)

 endpoint updatuje nam np. 2 tablice

tak sie nie zdarza jeśli nie ma relacji pomiędzy tabelami, generalnie nawet jeśli takie co ma miejsce to pod jednym endopointem powinny robić to dwie inne funkcje/ czy metody / komendy, zalezy od rodzaju architektury  .
Wiec jeśli mamy relacje, jedna encja agreguje inne, jest z nimi w relacji to siłą rzeczy to będzie, zależy od budowy obiektu 

 

W praktyce wygląda to tak, że jeśli takie coś ma miejsce pod 1 ENDPOINTEM a RESTFUL API JEST statless czyli bezstanowe, oznacza to że wszystkie dane niezbedne do obslugi żądania masz juz od klienta w zapytaniu, a więc w tym wypadku np. w postaci JSON dostajesz gotowy obiekt studenta, który agreguje w sobie obiekt Ocen i podczas dodawania noweg studenta , aktualizujesz rowniez agregujacy w jego wnetrzy obiekt Ocen - mapujac odpowiednie dane.   

1
komentarz 22 czerwca 2021 przez JakSky Stary wyjadacz (14,770 p.)
Rest API nie jest odzwierciedleniem struktury danych, ani logiki biznesowej. Prosty przykład. składanie zamówienia. Wysyłamy potwierdzenie za pomocą API, a pod spodem dzieje się masa rzeczy. Dodanie zamówienia, zmiana stanu magazynu, generowanie faktury, czy dodanie punktów lojalnościowych kupującemu.
komentarz 22 czerwca 2021 przez Wiciorny Ekspert (269,710 p.)

po pierwsze RESTFUL API -> to nie jest REST API :), więc sprawdź sobię różnice, wtedy zrozumiesz, że struktura danych jest istotna, po drugie. Kolega pyta o ARCHITEKTURĘ REST - API, a nie o samo API, jako protokół restowy :) i użycie żądań http 
 

Dodanie zamówienia, zmiana stanu magazynu, generowanie faktury, czy dodanie punktów lojalnościowych kupującemu.

zależnych od architektury  

komentarz 22 czerwca 2021 przez JakSky Stary wyjadacz (14,770 p.)
edycja 22 czerwca 2021 przez JakSky

 

 

po pierwsze RESTFUL API -> to nie jest REST API 

Może i nie, ale każde RESTFul jest REST :)

Cytat ze StackOverflow:

REST to styl architektury oprogramowania dla oprogramowania rozproszonego

Zgodność z ograniczeniami REST jest określana jako "RESTful".

 Warto zajrzeć: https://stackoverflow.com/questions/1568834/whats-the-difference-between-rest-restful

Co do struktury to nigdy nic nie słyszałem, aby rest czy też restful nakładał jakieś wymogi na temat struktury. A i żeby nie było, jak ktoś piszę o zasobie, to nie ma to nic wspólnego z fizycznymi zasobami po stronie serwera. Raczej to trzeba traktować jako abstrakcję opakowującą coś po stronie serwera.

komentarz 22 czerwca 2021 przez Wiciorny Ekspert (269,710 p.)
pisałem z architektury magisterkę i aktualnie zajmuje się architekturą :) mylisz pojęcia, bierzesz nad wyraz pewne rzeczy, jak już doczytasz - chociaż podstawową książke DDD - https://helion.pl/ksiazki/ddd-dla-architektow-oprogramowania-vaughn-vernon,dddaro.htm#format/d

I tam wzmianki pewnie o REST też będą to rozróżnisz, bo ty widzisz całkiem co innego pod hasłem "Struktura", a w architekturze struktura, encja, model to czasami całkiem co innego.
Np w CQRS albo Event Sourcing encja  to nie jest "obiekt bazodanowy" :), a na przykład agregat - jest czym więcej niż zwykła agregacją
komentarz 22 czerwca 2021 przez JakSky Stary wyjadacz (14,770 p.)
Też właśnie dużo ostatnio siedzę nad architekturą i właśnie nawet miałem pisać o CQRS :) Tylko Ty chcesz mieszać świat DDD z pojęciami Rest? Nie rozumiem Twojego wpisu. Według mnie nie ma to sensu. Przecież zasobem po stronie serwera może być dosłownie wszystko. Nawet te CQRS jest tego żywym dowodem.

Podobne pytania

0 głosów
2 odpowiedzi 388 wizyt
pytanie zadane 4 grudnia 2018 w PHP przez james4444 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 309 wizyt

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

61,937 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...