我正在使用Spring Boot和MongoDB,并尝试使用Spring Rest存储库通过REST公开它们。
我有一个名为user
的Mongo集合和一个名为User
的Java域模型类。我的剩余存储库看起来像这样:
@RepositoryRestResource( collectionResourceRel = "users", path = "users")
public interface UserRepository extends MongoRepository<User, String> {
public User findByEmail(@Param("email") String email);
}
有了这个,我就获得了通过REST自动公开资源的广告优势。 GET,PUT,POST所有这些爵士乐。
我发现,当我将Mongo集合重命名为User
时,它没有在/users
端点上找到记录。几乎就像Spring REST Repositories假设集合名称将是小写一样(是的,我确实在这里遇到过文档-https://docs.spring.io/spring-data/rest/docs/current-SNAPSHOT/reference/html/)
Spring Data REST公开了一个集合资源,该资源以导出的存储库正在处理的域类的无大写,复数版本命名。资源名称和路径都可以使用存储库界面上的@RepositoryRestResource进行自定义。
我所需要的是一种进行配置的方法,这样我就可以使用像User
这样的集合名称而不是user
。
我已经搜索了很多,但是还没有找到答案。
任何帮助,不胜感激! 干杯!