Cannot use findOne () method in Spring boot

My project is about the User-Manager network.

I am new to spring and Java.

Here is my code: in UserController

@RequestMapping(value="/users/{name}",method = RequestMethod.GET)
public User showUser(@PathVariable("name") String name){
    return userService.findUser(name);
}

In UserService:

 public User findUser(String name){
    return userRepository.findOne(name);
}

And in Postman, when I go to the link: http: // localhost: 8080 / users / hunghip4 (hunghip4 is the user I created)

{
  "timestamp": 1460570912129,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "org.springframework.dao.InvalidDataAccessApiUsageException",
  "message": "Provided id of the wrong type for class     com.uet.dhqg.usermanage.model.User. Expected: class java.lang.Integer, got class java.lang.String; nested exception is java.lang.IllegalArgumentException: Provided id of the wrong type for class com.uet.dhqg.usermanage.model.User. Expected: class java.lang.Integer, got class java.lang.String",
  "path": "/users/hunghip4"
}

User Model:

@Entity
@Table(name="user")
public class User extends HypermediaLinks {
@Id
@Column(name="id")
private int id;
@Column(name="name")
private String name;
@Column(name="pass")
private String pass;

public int getId(){
    return id;
}

public String getName(){
    return name;
}

public void serName(String name){
    this.name = name;
}

public String getPass(){
    return pass;
}

public void serPass(String pass){
    this.pass = pass;
}

}

UserRepository:

@Repository
public interface UserRepository extends CrudRepository<User,String>{
}
+5
source share
6 answers

Your is UserRepositorydefined as CrudRepository<User,String>. Where Useris the type and Stringtype of identifier. However, your class Userhas an id field of type intNOT type String.

First correct the UserRepositorycorrect representation of yours User.

public interface UserRepository extends CrudRepository<User, Integer> {}

User .

public User findByName(String name);

findOne. findOne , .

+7

, findOne. Spring findOne , , , . .

0

public interface UserRepository extends CrudRepository<User,Integer>

- int, int. findOne User id.

0

1.4.0.RELEASE pom maven.

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
 </parent>
0
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

Pom.xml maven

0

// BookMarkRepsoitory, JpaRepo org.springframework.data.jpa.repository.JpaRepository; BookMarkRepository JpaRepository {}

@Override public UserDetails loadBookBookname (String bookName) throws UsernameNotFoundException { book = readerRepository.findById(bookName); if (book.isPresent()) {return book.get(); }

0

All Articles