我有一个名为 StoreType.java 的域类,它由spring库下面公开
public interface StoreTypeRepository extends PagingAndSortingRepository<StoreType, Short> {
}
当我使用网址http://localhost:8080/my-persistence/jpa/storetypes
访问此网址时,它会返回404。
如果我将我的域类更改为 Storetype (没有驼峰的情况),它可以正常工作并返回200 OK。
我还有更多的存储库使用单个世界域类,如Store.java,Country.java,这些工作正常,默认情况下,它们作为多个域类名称公开。
我知道spring暴露的url是多个域类,但不确定它为什么不暴露它。我可以使用@RepositoryRestResource(path="/storetypes")
覆盖它,但我想知道如果域类在camel情况下命名,默认的rest url是什么。
答案 0 :(得分:1)
您似乎已通过将@RepositoryRestResource( path="/storetypes" )
注释指定为the documentation状态来回答问题。
Spring Data REST公开了一个以导出的存储库正在处理的域类的非大写,复数形式命名的集合资源。可以使用存储库接口上的@RepositoryRestResource来自定义资源名称和路径。
在这种情况下,您的命名约定似乎正确使用StoreTypeRepository但是有一件事让我对您的存储库定义感到困惑...我不确定为什么要将类型参数设置为PagingAndSortingRepository<StoreType, Short>
但我确信这是不正确,因为第二个类型参数应为Long.