我有一个问题。我想在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个小时。
您还在用户类中设置生成的密码吗?