Java 弹簧靴不是';t公开正确的存储库路由

Java 弹簧靴不是';t公开正确的存储库路由,java,spring,spring-boot,restapi,spring-repositories,Java,Spring,Spring Boot,Restapi,Spring Repositories,(注意:这是我的工作所依据的教程) 我试图在SpringBoot中开发一个简单的API,但是,我创建的存储库没有正确公开 模型如下所示: import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Genre { @I

(注意:这是我的工作所依据的教程)

我试图在SpringBoot中开发一个简单的API,但是,我创建的存储库没有正确公开

模型如下所示:


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Genre {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String genreName;
    private String genreDesc;

    public String getGenreName() {
        return genreName;
    }

    public void setGenreName(String genreName) {
        this.genreName = genreName;
    }

    public String getGenreDesc() {
        return genreDesc;
    }

    public void setGenreDesc(String genreDesc) {
        this.genreDesc = genreDesc;
    }
}

import java.util.List;

import com.uts13244177.models.Genre;

import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

@RepositoryRestResource(collectionResourceRel = "genres", path = "genres")
public interface GenreRepository extends PagingAndSortingRepository<Genre, Long>{
    List<Genre> findByGenreName(@Param("genreName") String genreName);
}
存储库如下所示:


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Genre {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String genreName;
    private String genreDesc;

    public String getGenreName() {
        return genreName;
    }

    public void setGenreName(String genreName) {
        this.genreName = genreName;
    }

    public String getGenreDesc() {
        return genreDesc;
    }

    public void setGenreDesc(String genreDesc) {
        this.genreDesc = genreDesc;
    }
}

import java.util.List;

import com.uts13244177.models.Genre;

import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

@RepositoryRestResource(collectionResourceRel = "genres", path = "genres")
public interface GenreRepository extends PagingAndSortingRepository<Genre, Long>{
    List<Genre> findByGenreName(@Param("genreName") String genreName);
}
基于上面的链接教程,当我在上运行cURL时http://localhost:8080,我应该看到一些大致如下的内容:

{
  "_links" : {
    "genres" : {
      "href" : "http://localhost:8080/genres{?page,size,sort}",
      "templated" : true
    }
  }
}
然而,我看到:

{
  "_links" : {
    "profile" : {
      "href" : "http://localhost:8080/profile"
    }
  }
}

我正在用Maven 4.0.0运行OpenJDK 11、Spring Boot 2.5.0。

检查所有模型类和控制器类是否都在子包中。 方法
[1] :

谢谢,问题是我错误地将模型和存储库的一个目录放得太高,所以主应用程序类没有读取它们。