Hi I am trying to use crudRepository but i get a error java.lang.nullPointer Exception
I have the User class :
@Entity
@Table(name="Utilisateur")
public class User {
@Id
private long id;
@Column(name="nom")
private String nom;
@Column(name="prenom")
private String prenom;
@Column(name="admin")
private boolean admin;
@Column(name="actif")
private boolean actif;
@Column(name="logins")
private String logins;
@Column(name="email")
private String email;
@Column(name="naissance")
private String naissance;
@Column(name="pwd")
private String pwd;
@Column(name="compte")
private String compte;
public User(){
}
public User(String nom, String prenom, boolean admin, boolean actif, String logins, String email, String naissance, String pwd, String compte) {
this.nom = nom;
this.prenom = prenom;
this.admin = admin;
this.actif = actif;
this.logins = logins;
this.email = email;
this.naissance = naissance;
this.pwd = pwd;
this.compte = compte;
}
After i have my interface she extend the interface CrudRepository
@Repository public interface UserDao extends CrudRepository<User,Long>{
public User findByEmail(String email);
}
after i have my class User controller :
@RestController
public class UserController {
private UserDao userDao ;
@RequestMapping(
value="/api/greetings/post",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces=MediaType.APPLICATION_JSON_VALUE
)
public ResponseEntity<User> getByEmail(@RequestBody User user){
String userId;
String login;
User user1=null;
try{
user1 = userDao.findByEmail(user.getEmail());
if(user1==null){
return new ResponseEntity<User>(HttpStatus.INTERNAL_SERVER_ERROR);
}
userId = String.valueOf(user1.getId());
login=user1.getLogins();
}catch(Exception ex){
return new ResponseEntity<User>(HttpStatus.INTERNAL_SERVER_ERROR);
}
return new ResponseEntity<User>(user1, HttpStatus.OK);
}
}
For test i am using postman for make the post query, In function I get the object, is not a rest problem.
Thank you
You need to Autowire your userDao property.
@Autowire private UserDao userDao;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.