程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Boot 没有公开正确的存储库路由大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Boot 没有公开正确的存储库路由?

开发过程中遇到Spring Boot 没有公开正确的存储库路由的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Boot 没有公开正确的存储库路由的解决方法建议,希望对你解决Spring Boot 没有公开正确的存储库路由有所启发或帮助;

(注意:this 是我工作的基础)

我正在尝试在 Spring Boot 中开发一个简单的 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);
}

并且应用程序类与 Spring Initializr 相同:


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BookDatabaseApplication {

    public static voID main(String[] args) {
        SpringApplication.run(BookDatabaseApplication.class,args);
    }

}

根据我正在使用的上面链接的教程,当我在 http://localhost:8080 上运行 cURL 时,我应该看到以下内容:

{
  "_links" : {
    "genres" : {
      "href" : "http://localhost:8080/genres{?page,size,sort}","templated" : true
    }
  }
}

然而,我看到的是:

{
  "_links" : {
    "pro@R_419_6852@" : {
      "href" : "http://localhost:8080/pro@R_419_6852@"
    }
  }
}

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

解决方法

检查所有模型类和控制器类是否都在子包中。 方法 [1]:https://i.stack.imgur.com/i4xnp.png

大佬总结

以上是大佬教程为你收集整理的Spring Boot 没有公开正确的存储库路由全部内容,希望文章能够帮你解决Spring Boot 没有公开正确的存储库路由所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。