0
我正在制作一个小应用程序,我可以使用spring-boot保存用户详细信息。我创建了实体及其相应的存储库。当我发出一个post请求来添加一个用户的用户对象在保存点到数据库时为空的id。这个id是在MySQL中自动生成的(自动递增)。从POST请求我得到3个字段是用户名,电子邮件,密码。用户类包含字段id,用户名,电子邮件,密码。我已添加注释SpringBoot JPA在发出请求时抛出异常
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
为id字段。构造函数是
public User() { }
public User(String username, String email, String password) {
this.username = username;
this.email = email;
this.password = password;
}
我userService类
@Service
public class UserService implements UserServiceInterface {
@Autowired(required = true)
private UserRepository userrepository;
@Override
public User CreateNewUser(User user) {
return userrepository.save(user);
}
}
我UserController类
@RestController
public class UserController {
UserService us = new UserService();
@RequestMapping(value ="/user",method = RequestMethod.POST)
public void RegisterUser(
@RequestParam(value="username") String username,
@RequestParam(value="email") String email,
@RequestParam(value="password") String password){
us.CreateNewUser(new User(username,email,password));
}
}
有什么理由我不能POST将数据保存到数据库?如何克服这一点?
NPE在哪里?任何异常都应该使用其堆栈跟踪发布,因为它显示哪些代码是负责任的。很显然,一个对象可以传递到JPA API,而不需要设置任何'@ GeneratedValue'字段,并且它的值将被分配到数据存储区 –
@NeilStockton我编辑了问题 – TRomesh
@NeilStockton UserService是一个类,它可以完成用户的所有功能。例如保存用户信息,删除(基本CRUD) – TRomesh