我如何插入生成的密码

问题描述 投票:-1回答:1

我有一个问题。我想在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;
    }

}

这是我的Entity类。使用PostRequest将新用户保存到数据库中后,我也希望保存生成的密码。有人可以提示我在哪里可以找到合适的解决方案。我现在在互联网上搜索了2个小时。

java spring-boot
1个回答
0
投票

您还在用户类中设置生成的密码吗?

© www.soinside.com 2019 - 2024. All rights reserved.