Spring MVC/ Przekazanie ID użytkownika

Spring MVC/ Przekazanie ID użytkownika
J1
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:30
0

Hej
Znacie jakiś bardziej elegancki sposób aby przekazać ID?

Chodzi mi o metodę POST.
Aby zmodyfikować użytkownika to muszę też przesłać jego Id.

Nie do końca mi się podoba to jak to zrobiłem, można to zrobić jakoś bardziej elegancko?
Klasa "User" rozszerza interfejs UserDetails. User ma też relację OneToOne/OneToMany ale to nie jest raczej istotne

Kopiuj
    @GetMapping("/update")
    public String updateAccountForm(Model model, @AuthenticationPrincipal User user) {

        model.addAttribute("updateUser", userService.findById(user.getUserId()));

        return "customer/update-customer";
    }
Kopiuj

    @PostMapping("/update")
    public String updateAccountProcess(@ModelAttribute("updateUser") User user, @AuthenticationPrincipal User user_id) {

        user.setUserId(user_id.getUserId());
        userService.saveUser(user);

        return "redirect:/customer/settings";
    }
edytowany 3x, ostatnio: Johny123
AK
Dlaczego MVC w tytule?
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Normalnie zgodnie z jakimś rigczem i REST to powinien być endpoint /user/update/{ID}. Ale biorąc pod uwagę ze mamy tu opcje full encja na twarz i pchasz gdzie obiekt JPA jest jednocześnie Principalem i DTO i w ogóle wszystkim, to te endpointy są twoim najmniejszym problemem...


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
Zobacz pozostałe 14 komentarzy
Charles_Ray
Naaaajs, gratuluje.
K5
Panowie, kolega cierpi, bo nie może rozwiązać problemu, a wy tutaj skupiacie się na sobie ;(
PI
@Shalom: Co do Twojego posta - zgodnie z RESTem, update powinien być przy użyciu HTTP metody PUT lub PATCH, a nie /update w urlu
Shalom
@Pinek: prawda, bezmyślnie skopiowałem z jego endpointa ;)
JuniorHtmlDeveloper
JuniorHtmlDeveloper
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:9
0

Skupiasz się na nie tej części Springa co powinieneś.


"We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it's caught on very nicely."
OtoKamil
Tajemniczy... Takich to ja lubię
JuniorHtmlDeveloper
JuniorHtmlDeveloper
Wolę dziewczyny :p ps ale mój post był bez sensu. Przeczytałem temat spring mvc, przeczytałem pierwszy post i rzuciłem okiem na kod bez przewijania w prawo. Także rozumiem zainteresowanie moją osobą. Numeru tak czy siak nie dostaniesz.
OtoKamil
Czepiam się po prostu braku szczegółów w odpowiedzi :P Odpisałeś mu w stylu "robisz to źle" - nie mówiąc co robi źle

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.