Spring MVC/ Przekazanie ID użytkownika

Spring MVC/ Przekazanie ID użytkownika
J1
  • Rejestracja: dni
  • Ostatnio: dni
  • 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";
    }
Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • 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...

JuniorHtmlDeveloper
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

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

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.