Rysunek 1. jest diagramem UML. przybliżającym możliwe rozwiązanie, zakodowanie, zadania.
Rysunek 2. jest przykładowym widokiem jaki może zobaczy użytkownika, po utworzeniu takiego widoku przez zespół Frontendowy.
Parametry URL, są przechwytywane w metodzie, dzięki oznaczeniu odpowiedniego parametru metody adnotacją = @RequestParam, jednak można wykorzystać zbiorczy obiekt typu Map<String, String>, który zagreguje wszystkie parametry w jednym obiekcie.
Poprawa testów, sprowadza się do wywołania nowej metody, getFilteredExpenses, z parametrem, który będzie mapą,
np.: klucz to 'from', a wartość to '2000-01-01'.
Enum filtrów powinien mieć wartości, np.: FROM_DATE("from"), gdzie 'from' to klucz, który trzeba pobrać z tego enum przy pomocy metody getKey().
Wywołanie endpointa:
'/expenses/filter?month=february&year=2000'
spowoduje, problem z enumem MonthsEnum, w enumie jego wartości są pisane wielką literą, trzeba przed pobraniem miesiąca wywołać metodę 'toUpperCate()', np.: MonthsEnum.valueOf(valueFromURL.toUpperCate()).
W enumie MonthsEnum, metody getFirstDayForYear i getLastDayForYear powinny przyjmować jako parametr rok, a zwracać String z odpowiednio przygotowaną datą: rok + miesiąc + dzień miesiąca.
W enumie MonthsEnum, metody getFirstDayForYear i getLastDayForYear, mogą zwracań niepoprawny format dat.
Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online
Strona www stworzona w kreatorze WebWave.