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.

05 Rozszerzenie Filtrowanie Wydatków

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.