gpt4 book ai didi

java - 无法在 Spring 引导中使用方法 findOne()

转载 作者:搜寻专家 更新时间:2023-10-31 19:44:22 24 4
gpt4 key购买 nike

我的项目是关于用户管理器网络的。

我是 Spring 和 Java 的新手。

这是我的代码:在用户 Controller 中

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

在用户服务中:

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

当我转到链接时在 Postman 中:http://localhost:8080/users/hunghip4 (hunghip4是我创建的用户)

{
"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"
}

用户模型:

@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;
}

}

用户存储库:

@Repository
public interface UserRepository extends CrudRepository<User,String>{
}

最佳答案

你的 UserRepository定义为 CrudRepository<User,String> .在哪里User是类型和 String id 的类型。然而你的User类有一个类型为 int 的 id 字段不是 String 类型.

首先修复你的 UserRepository成为您的 User 的恰当代表.

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

接下来创建一个方法来查找您的 User按名字。

public User findByName(String name);

然后从您的 Controller 而不是 findOne 调用它. findOne用于根据 ID 查找实体,而不是根据实体的任何随机字段。

关于java - 无法在 Spring 引导中使用方法 findOne(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com