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

Pierwsze REST API w Spring

Object Storage Arubacloud
+1 głos
688 wizyt
pytanie zadane 26 lipca 2017 w Java przez Jonki Dyskutant (8,180 p.)
Jak temat mówi, tworzę swoją pierwszą aplikację opartą o REST API. Raczej większość rozumiem, lecz trapią mnie niektóre sytuację. Np. użytkownik wchodzi na stronę do zmiany adresu email. Następnie po podaniu nowe email następuje wysłanie danych przez ajaxa lub angulara do RESTowego API i kontroler zwraca true lub false. Ok. Walidacja jest tworzona zarówno po stronie javascript, jak również w samym kodzie java. Dopóki w przeglądarce jest włączony javascript to wszystko jest ok. Pola formularza są walidowane. Jednak gdy użytkownik wyłączy w przeglądarce javascript i postanowi zmienić email, a następnie zmodyfikuje kod javascript i html tak, że dane są wysyłane z formularza bezpośrednio do kontrolera bez walidacji w js(jest wyłączona), to wtedy po walidacji w java nie jestem w stanie wypisać na stronie żadnych błędów jakie podał użytkownik, bo strona nie jest przeładowywana. Czyli wychodzi na to, że takie formularze jak edycja danych, które muszą myć walidowane w java, nie powinny działac na RESTowym kontrolerze, tylko na takim zwykłym zwracajacym stronę?

2 odpowiedzi

0 głosów
odpowiedź 31 lipca 2017 przez Mar Cin Dyskutant (8,900 p.)
Walidacja zawsze powinna być za równo po stronie back-endu jak i front-endu :)
0 głosów
odpowiedź 31 lipca 2017 przez event15 Szeryf (93,790 p.)
Walidacja powinna być wielopoziomowa, w zależności od tego w jaki sposób piszesz aplikację.

Gdy mówimy o aplikacji internetowej - po stronie końcowego użytkownika - problematyczną jest sama konieczność weryfikowania jakichkolwiek danych, które idą przez system. Wpływa to na UX strony. Nie zmienia to faktu, że czasem wymogiem biznesu jest sprawdzanie poprawności danych już na tym etapie (na przykład interfejs konta bankowego).

Reszta powinna się dziać już w warstwie aplikacji. Wystarczy zrobić prostą weryfikację parametru otrzymanego w Query Param lub inną metodą. Wtedy powinien być rzucany wyjątek który zostanie obsłużony przez formularz za pomocją JavaScriptu, czy czego tam chcesz po stronie GUI.

Do warstwy dziedziny przyjmuje się, że powinien już trafiać obiekt wcześniej zwalidowany, a więc i zawsze prawidłowy. Więc serwisy, które są w Infrastrukturze powinny również mieć możliwość odrzucenia nieprawidłowego adresu email.

To raczej ogólne spostrzeżenia.

Możesz też poczytać tu: https://zawarstwaabstrakcji.pl/20170309-walidacja-w-architekturze-wielowarstwowej/

Podobne pytania

0 głosów
1 odpowiedź 486 wizyt
pytanie zadane 27 lipca 2017 w Java przez Jonki Dyskutant (8,180 p.)
0 głosów
1 odpowiedź 216 wizyt
pytanie zadane 25 listopada 2019 w JavaScript przez varespol Użytkownik (710 p.)
0 głosów
2 odpowiedzi 675 wizyt
pytanie zadane 24 lutego 2018 w Java przez KubenQPL Maniak (62,820 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...