Как я могу вставить сгенерированный пароль - PullRequest
1 голос
/ 23 января 2020

У меня есть вопрос. Я хотел бы включить ранее созданный пароль в PostRequest. Но я не уверен, как это работает.

@PostMapping("/users")
    public ResponseEntity<Object> createUser (@RequestBody User user)
    {
        String Password =generatePassword(10);

        User savedUser = userRepository.save(user);

        InsertDefaultValue app=new InsertDefaultValue();
        app.insertDefaultTemplate("Sehr geehrter Kunde, Ihr Container wird morgen zugestellt", user.getUserName(), 1);
        app.insertDefaultTemplate("Sehr geehrter Kunde, Ihr Container wird heute gegen 10 Uhr zugestellt", user.getUserName(), 2);
        app.insertDefaultTemplate("Sehr geehrter Kunde, Ihr Container wird morgen abgeholt", user.getUserName(), 3);

        URI location = ServletUriComponentsBuilder.fromCurrentRequest()
                .path("/{id}").buildAndExpand(savedUser.getId()).toUri();
                return ResponseEntity.created(location).build();
    }

Это мой PostRequest.

private static final Random RANDOM = new SecureRandom();
     private static final String ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

     public static String generatePassword(int length) {
            StringBuilder returnValue = new StringBuilder(length);
            for (int i = 0; i < length; i++) {
                returnValue.append(ALPHABET.charAt(RANDOM.nextInt(ALPHABET.length())));
            }
            return new String(returnValue);
        }

Это мой метод генерации пароля. Это также в моем классе ресурсов.

package sendMessage.UserMicroservice;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name= "AuthenticateUser")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    private String userName;
    private String password;
    private String name;
    private boolean active;
    private String roles;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;

    }
    public boolean isActive() {
        return active;
    }
    public void setActive(boolean active) {
        this.active = active;
    }
    public String getRoles() {
        return roles;
    }
    public void setRoles(String roles) {
        this.roles = roles;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

И это мой класс сущностей. Как только я сохраню нового пользователя в своей базе данных с помощью PostRequest, я хочу, чтобы сгенерированный пароль также был сохранен. Может кто-нибудь подсказать мне, где я могу найти подходящее решение. Я искал inte rnet в течение 2 часов.

1 Ответ

3 голосов
/ 23 января 2020

Вы также устанавливаете сгенерированный пароль в своем классе пользователя?

т.е.

  user.setPassword(password) 

перед вызовом

 User savedUser = userRepository.save(user);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...