Почему я не могу получать данные из HTML в моем контроллере? ⇐ JAVA
-
Гость
Почему я не могу получать данные из HTML в моем контроллере?
Я работаю над реализацией функции регистрации пользователей. Однако, сколько бы я его ни изменял, я не могу получить данные в свой контроллер. Почему это может произойти?
-Среда, в которой я разрабатываю: java17, Springboot3, Spring Security6, JPA и MySQL.
Основнойконтроллер @PostMapping("/sign-up/save") public String Registration(@ModelAttribute("user") Пользователь UserAccountDto ) { log.info("[MainController] пользователь: {}", user); System.out.println("[MainController] пользователь: " + пользователь); userAccountService.saveUser(пользователь); return "redirect:/login?success"; } ---
UserAccountDto публичная запись UserAccountDto( Строковый идентификатор пользователя, Строка userPassword, Строка электронной почты, Строковый псевдоним, Строковая памятка, LocalDateTime создано в, Строка создана, LocalDateTime измененоAt, Строка измененаКем ) { public static UserAccountDto of (String userId, String userPassword, String email, String псевдоним, String memo) { вернуть новый UserAccountDto(userId, userPassword, адрес электронной почты, псевдоним, заметка, ноль, ноль, ноль, ноль); } } ---
UserAccountServiceImpl @Slf4j @Услуга @Транзакционный @RequiredArgsConstructor публичный класс UserAccountServiceImpl реализует UserAccountService { частный окончательный UserAccountRepository userAccountRepository; частный окончательный парольEncoderпарольEncoder; public void saveUser (пользователь UserAccountDto) { UserAccount saveUser = UserAccount.of(user.userId(), user.userPassword(), user.email(), user.nickname(), user.memo()); saveUser.setUserPassword(passwordEncoder.encode(user.userPassword())); Необязательный существующийПользователь = userAccountRepository.findById(user.toEntity().getUserId()); если (existingUser.isEmpty()) { userAccountRepository.saveAndFlush(saveUser); // возвращаем новый ResponseEntity("успех", HttpStatus.OK); } еще { // возвращаем новый ResponseEntity("fail", HttpStatus.OK); } } } ---
SecurityConfig @Configuration общественный класс SecurityConfig { @Бин public SecurityFilterChain securityFilterChain(HttpSecurity http) выдает исключение { http .csrf(csrf -> csrf.disable()) .authorizeHttpRequests((auth) -> аутентификация .requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll() .requestMatchers(HttpMethod.GET, "/", "/статьи", "/articles/search-hashtag", "/регистрация").permitAll() .anyRequest().аутентифицированный() ) .formLogin( форма -> форма .loginPage("/логин") .loginProcessingUrl("/логин") .usernameParameter("имя пользователя") .passwordParameter("пароль") .defaultSuccessUrl("/") .permitAll() ) .logout(выход -> выход .logoutRequestMatcher(новый AntPathRequestMatcher("/logout")) .logoutSuccessUrl("/") .invalidateHttpSession(истина) .deleteCookies("JSESSIONID") .permitAll() ); вернуть http.build(); } @Бин public UserDetailsService userDetailsService (UserAccountRepository userAccountRepository) { вернуть имя пользователя -> userAccountRepository.findById(имя пользователя) .map(UserAccountDto::from) .map(BoardPrincipal::from) .orElseThrow(() -> new UsernameNotFoundException("Нет существующего пользователя - имя пользователя: " + имя пользователя)); } Я работаю над реализацией функции регистрации пользователей. Однако, сколько бы я ни изменял его, я не могу получить данные в свой контроллер. Почему это может произойти?
-Среда, в которой я разрабатываю: java17, Springboot3, Spring Security6, JPA и MySQL.
Я работаю над реализацией функции регистрации пользователей. Однако, сколько бы я его ни изменял, я не могу получить данные в свой контроллер. Почему это может произойти?
-Среда, в которой я разрабатываю: java17, Springboot3, Spring Security6, JPA и MySQL.
Основнойконтроллер @PostMapping("/sign-up/save") public String Registration(@ModelAttribute("user") Пользователь UserAccountDto ) { log.info("[MainController] пользователь: {}", user); System.out.println("[MainController] пользователь: " + пользователь); userAccountService.saveUser(пользователь); return "redirect:/login?success"; } ---
UserAccountDto публичная запись UserAccountDto( Строковый идентификатор пользователя, Строка userPassword, Строка электронной почты, Строковый псевдоним, Строковая памятка, LocalDateTime создано в, Строка создана, LocalDateTime измененоAt, Строка измененаКем ) { public static UserAccountDto of (String userId, String userPassword, String email, String псевдоним, String memo) { вернуть новый UserAccountDto(userId, userPassword, адрес электронной почты, псевдоним, заметка, ноль, ноль, ноль, ноль); } } ---
UserAccountServiceImpl @Slf4j @Услуга @Транзакционный @RequiredArgsConstructor публичный класс UserAccountServiceImpl реализует UserAccountService { частный окончательный UserAccountRepository userAccountRepository; частный окончательный парольEncoderпарольEncoder; public void saveUser (пользователь UserAccountDto) { UserAccount saveUser = UserAccount.of(user.userId(), user.userPassword(), user.email(), user.nickname(), user.memo()); saveUser.setUserPassword(passwordEncoder.encode(user.userPassword())); Необязательный существующийПользователь = userAccountRepository.findById(user.toEntity().getUserId()); если (existingUser.isEmpty()) { userAccountRepository.saveAndFlush(saveUser); // возвращаем новый ResponseEntity("успех", HttpStatus.OK); } еще { // возвращаем новый ResponseEntity("fail", HttpStatus.OK); } } } ---
SecurityConfig @Configuration общественный класс SecurityConfig { @Бин public SecurityFilterChain securityFilterChain(HttpSecurity http) выдает исключение { http .csrf(csrf -> csrf.disable()) .authorizeHttpRequests((auth) -> аутентификация .requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll() .requestMatchers(HttpMethod.GET, "/", "/статьи", "/articles/search-hashtag", "/регистрация").permitAll() .anyRequest().аутентифицированный() ) .formLogin( форма -> форма .loginPage("/логин") .loginProcessingUrl("/логин") .usernameParameter("имя пользователя") .passwordParameter("пароль") .defaultSuccessUrl("/") .permitAll() ) .logout(выход -> выход .logoutRequestMatcher(новый AntPathRequestMatcher("/logout")) .logoutSuccessUrl("/") .invalidateHttpSession(истина) .deleteCookies("JSESSIONID") .permitAll() ); вернуть http.build(); } @Бин public UserDetailsService userDetailsService (UserAccountRepository userAccountRepository) { вернуть имя пользователя -> userAccountRepository.findById(имя пользователя) .map(UserAccountDto::from) .map(BoardPrincipal::from) .orElseThrow(() -> new UsernameNotFoundException("Нет существующего пользователя - имя пользователя: " + имя пользователя)); } Я работаю над реализацией функции регистрации пользователей. Однако, сколько бы я ни изменял его, я не могу получить данные в свой контроллер. Почему это может произойти?
-Среда, в которой я разрабатываю: java17, Springboot3, Spring Security6, JPA и MySQL.
Мобильная версия