Ich mache eine kleine Anwendung, wo ich Benutzerdetails mit Spring-Boot speichern kann. Ich habe die Entitäten und ihre entsprechenden Repositories erstellt. Wann auch immer ich eine Post-Anfrage mache, um einen Benutzer die ID des Benutzerobjekts hinzuzufügen, die zum Zeitpunkt des Speicherns in der Datenbank null ist. Diese ID wird in MySQL automatisch generiert (Auto Increment). Von der POST-Anfrage bekomme ich 3 Felder, die Benutzername, E-Mail, Passwort sind. Die Benutzerklasse enthält Felder ID, Benutzername, E-Mail, Passwort. Ich habe die AnmerkungenSpringBoot JPA löst Ausnahme bei der Anforderung von Post
für das ID-Feld hinzugefügt. und die Konstruktoren sind
public User() { }
public User(String username, String email, String password) {
this.username = username;
this.email = email;
this.password = password;
}
Dies ist der Fehler im bekommen.
meine Userservice Klasse
@Service
public class UserService implements UserServiceInterface {
@Autowired(required = true)
private UserRepository userrepository;
@Override
public User CreateNewUser(User user) {
return userrepository.save(user);
}
}
meine Usercontroller Klasse
@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));
}
}
Gibt es Gründe, warum ich poste kippe Daten in die Datenbank speichern? Wie überwinde ich das?
ein NPE WO? Jede Ausnahme sollte mit ihrem Stack-Trace gepostet werden, da sie anzeigt, wessen Code verantwortlich ist. Offensichtlich kann ein Objekt an die JPA-API übergeben werden, ohne ein '@ GeneratedValue'-Feld zu setzen, und sein Wert wird im Datenspeicher zugewiesen. –
@NeilStockton Ich habe die Frage bearbeitet – TRomesh
@NeilStockton UserService ist die Klasse, in der alle Funktionen des Benutzers ausgeführt werden . zB Speichern von Benutzerinformationen, Löschen (Basic CRUD) – TRomesh