Spring MVC/ Przekazanie ID użytkownika

Odpowiedz Nowy wątek
2020-05-22 16:50

Rejestracja: 1 rok temu

Ostatnio: 4 dni temu

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

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

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

        return "customer/update-customer";
    }

    @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, 2020-05-22 16:54
Dlaczego MVC w tytule? - AnyKtokolwiek 2020-05-23 10:06

Pozostało 580 znaków

2020-05-22 17:13
Moderator

Rejestracja: 16 lat temu

Ostatnio: 14 minut temu

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...


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
Pokaż pozostałe 14 komentarzy
Naaaajs, gratuluje. - Charles_Ray 2020-05-22 20:07
Panowie, kolega cierpi, bo nie może rozwiązać problemu, a wy tutaj skupiacie się na sobie ;( - kixe52 2020-05-22 20:12
@Shalom: Co do Twojego posta - zgodnie z RESTem, update powinien być przy użyciu HTTP metody PUT lub PATCH, a nie /update w urlu - Pinek 2020-05-22 20:13
@Pinek: prawda, bezmyślnie skopiowałem z jego endpointa ;) - Shalom 2020-05-22 20:14

Pozostało 580 znaków

2020-05-22 20:31

Rejestracja: 1 tydzień temu

Ostatnio: 13 godzin temu

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."
Tajemniczy... Takich to ja lubię - OtoKamil 2020-05-23 00:02
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. - JuniorHtmlDeveloper 2020-05-23 05:08
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 - OtoKamil 2020-05-24 09:27

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0