Fix codebase
Tu projit VSECHNY moduly a package
Controllery
- PathVariable v URL by malo byť prefixnuté “/” => pridat
- Chýbajú základné CRUD operácie (zakomentovaná DELETE operácia, chýba DELETE pre Rating, UPDATE pre User, získanie Ratingov pre vybranú Movie) => Toto si myslim ze uz bude poresene v M2, ale zkontrolovat a pripadne doplnit
- RestTemplate v login a recommender module by som nahradil za WebClient (RestTemplate bude časom deprecated) => pouzit WebClient vsude
Entity
- Je lepšie použiť objektový typ pre identifikátor (Long vs long), aby ste vedeli rozpoznať stav kedy identifikátor ešte nebol pridelený databázou (niektoré DB môžu začínať generovať hodnotou 0) => predelat na Long vsude
- Nepoužívate automatické generovanie mapovacích metód z MapStructu (nebolo súčasťou M1, ale bude v M2) => asi poresene v M2, zkontrolovat
- Nepridával by som entitám suffix “Do”, dosť sa to podobá na Dto a ťažšie sa v tom potom orientuje => oddelat
Dtocka
- ID v DTO je typu String, ale v entitách typu long + Lepšie použiť objektové typy pre id fieldy v DTO, aby ste predišli nejasnostiam v prípade, že hodnota nie je vyplnená => pohlidat ze je vsude Long
- Chýbajú Gettre, Settre pri niektorých DTO triedých => mozna uz poresene, zkontrolovat
- BaseObjectDto by mal byť tiež abstraktný => zabstrahovat
Servicy
- Transactional anotácie nie sú vždy potrebné v Service vrstve, ak používate CrudRepository, v ktorom sú už jednotlivé CRUD metódy transactional => projit a uklidit
- Používate generickú nadtriedu pre Service, ale nie konzistentne. Základné CRUD metódy môžu byť všetky implementované na jednom mieste (v BaseService) => projit a sjednotit
- Nepotrebný Getter na Mapper fieldy v Service triedách. Dôvodom getteru nad *Repository fieldoch v ukážkovom projekte je to, aby bola implementovaná metóda pre prístup k repozitáru v BaseService, aby mohli byť použité operácie z repozitárov. => projit a vyhazet
Testy
- smazat prazdne test classy - CoreApplicationTests
Repository
- MovieService::getMovie uses repository.getReferenceById, which only fetches the data lazily when the state is accessed (when getters are called in movieMapper). This should be replaced with a call to MovieRepository::findById. If the movie with given ID is not found, it should fail at the call to repository, not in the mapper.
Edited by Jiří Smejkal