dzeksondzekson
#codereview #programowanie #naukaprogramowania Proszę o rzeczowy code review, z funkcjonalności to edit nie działa poprawnie, bo coś z id null wywala błąd, zamiast edytować kontakt dodaje kolejny i póki co nie wiem jak to naprawić. I z search jest mały problem tzn, jak teraz jest List searchBySurname(String surname); to można dodawać powtarzające się kontakty, ale po kliknięciu w szukaj cały czas w okienku szukania wywala toString to co wyszukuje i nie bardzo wiem jak to zmienić/ukryć. Z kolei jak jest samo Contact to wywala błąd przy szukaniu po nazwisku np jak mam kontakty o tym samym nazwisku w liście.
Dziękuje za wszelkie sugestie, ale konstruktywne a nie na zasadzie "e słabe to" tylko "tu zmień na to i na to".

https://github.com/dzksnpk/contact-book-webapp
  • Najlepsze
  • Wszystkie komentarze
fegwegw
@dzeksondzekson: Po co Ci 3 kontruktory w Contact?
Używaj 'nowych' adnotacji: @PostMapping, @GetMapping, itp.
Nie używaj field-injection.
Formatuj kod.
Czemu masz mapowania /delete zarówno ograne POSTem jak i GETem, a nie DELETEM?
fegwegw
gdzieś na stackoverflow wyczytałem że przy entity potrzebny jest pusty konstruktor inaczej java persistance tutaj


@dzeksondzekson: No jest, ale może być package-private. I mimo tego masz kolejny, jednoparametrowy.

Rozumiem, ale potrzebuję na przykładzie co zamienić z
fegwegw
Nie do końca rozumiem, mam te Repository po prostu w klasie Contact zapisać?


@dzeksondzekson: Chodzi o to, żebyś tę zależność wstrzyknał poprzez konstruktor klasy IndexController:

private final ContactRepository
K.....l
K.....l
@fegwegw: jak wstrzykujesz zaleznosci do obiektu przez konstukrtor to nie musisz dawac nad nim @autowired. Spring sam zalapie
K.....l
K.....l
dzeksondzekson
dzeksondzekson Autor
0
@fegwegw: gdzieś na stackoverflow wyczytałem że przy entity potrzebny jest pusty konstruktor inaczej java persistance tutaj

Używaj 'nowych' adnotacji: @PostMapping, @GetMapping, itp.

Rozumiem, ale potrzebuję na przykładzie co
dzeksondzekson
dzeksondzekson Autor
0
No jest, ale może być package-private. I mimo tego masz kolejny, jednoparametrowy.

poprawię.

@RequestMapping(value = "/", method = RequestMethod.GET)
> robisz:
> @
dzeksondzekson
dzeksondzekson Autor
0
@fegwegw: dzięki za pomoc, usprawnię to co mi się uda i porobię commity.

W ogóle spodobał mi się ten git w wersji bashowej, bo w eclipse egit mi sie nie udało tego wrzucić na repozytorium, tak samo instalowanie github desktopowego trwało wieki, a git zadziałał ładnie, same zalety zresztą.
Raz, że czuje się jak haker bo w końcu linia komend, dwa że działa, a trzy, że to co poprawię będzie
fegwegw
fegwegw
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
dzeksondzekson
dzeksondzekson Autor
0
@fegwegw: Może to syndrom sztokholmski, ale jako że git jedynie poradził sobie z moją nieumiejętnością wrzucania na githuba projektów to go szanuję.
K.....l
K.....l
@fegwegw: jak ma korzystac z nowoczesnych adnotacji to @autowired nie jest potrzebny ;P
fegwegw
jak ma korzystac z nowoczesnych adnotacji to @autowired nie jest potrzebny ;P


@Kuriozal: Tzn, co masz na myśli? Przyznam, że mnie zaciekawiłeś.
fegwegw
@Kuriozal: Aż se muszę to sprawdzić w domu.
K.....l
K.....l
@fegwegw: przed chwila sprawdzilem w pracy zeby nie wkrecac Ci :D springBootVersion = '1.5.2.RELEASE'
fegwegw
@Kuriozal: a w 1.4? :)

Tzn, ja wierzę, że to jest możliwe, ale tak się teraz zastanawiam, czy powinno się tak pisać. Adnotacja daje jasny przekaż: ten konstruktor służy to injectowania.
K.....l
K.....l
@fegwegw: zwykle w controllerach/serwisach/componentach masz tylko jeden konstruktor (albo wcale jak masz injecty przez fieldy)
fegwegw
@Kuriozal: Hmm, mało mi się to podoba, szczerze mówiąć :)