提供的SpringBoot类型错误的id

提供的SpringBoot类型错误的id,spring,spring-boot,postman,Spring,Spring Boot,Postman,我正在创建一个简单的crud项目,spring boot与postman合作。我可以成功列出记录。我添加了记录成功。当我试图通过postman搜索记录时,它无法工作。我得到的错误是postman为class com.example.demo1.Entity.Student提供了错误类型的id。预期:类java.lang.Integer,得到类java.lang.Long邮递员我到目前为止所做的尝试,我在下面附上 学生 @Entity @Table(name="Records"

我正在创建一个简单的crud项目,spring boot与postman合作。我可以成功列出记录。我添加了记录成功。当我试图通过postman搜索记录时,它无法工作。我得到的错误是postman为class com.example.demo1.Entity.Student提供了错误类型的id。预期:类java.lang.Integer,得到类java.lang.Long邮递员我到目前为止所做的尝试,我在下面附上

学生

@Entity
@Table(name="Records")
public class Student 
{   
    @Id
    @Column(name="id")
     @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    
    @Column(name="fname")
    private String fname;
    
    @Column(name="lname")
    private String lname;
    
    @Column(name="city")
    private String  city;
    
    
    @Column(name="phone")
    private String phone;
    
    @Column(name="salary")
    private String salary;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getFname() {
        return fname;
    }

    public void setFname(String fname) {
        this.fname = fname;
    }

    public String getLname() {
        return lname;
    }

    public void setLname(String lname) {
        this.lname = lname;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getSalary() {
        return salary;
    }

    public void setSalary(String salary) {
        this.salary = salary;
    }
存储库

@Repository
public interface Studentrepository extends CrudRepository<Student,Long> {
    

}
控制器

//creating a get mapping that retrieves the detail of a specific book  
     @RequestMapping("/student/{id}")  
     private Student getBooks(@PathVariable(name = "id") int studentid)   
     {  
     return services.getStudentById(studentid);  
     }  
     

您在实体中将id定义为int,但在服务和存储库中使用long,决定要使用的类型,并在所有类中使用相同的类型。

在实体和控制器中,您将id定义为integer。在您的服务中,您需要一个长参数。因此会出现不匹配和错误消息。错误消息有时很神秘,但通常会告诉您出了什么问题

//creating a get mapping that retrieves the detail of a specific book  
     @RequestMapping("/student/{id}")  
     private Student getBooks(@PathVariable(name = "id") int studentid)   
     {  
     return services.getStudentById(studentid);  
     }