Spring Boot MongoDB REST - 自定义存储库方法

Posted

技术标签:

【中文标题】Spring Boot MongoDB REST - 自定义存储库方法【英文标题】:Spring Boot MongoDB REST - Custom Repository Methods 【发布时间】:2015-08-17 03:21:11 【问题描述】:

我正在使用 spring-boot-starter-data-rest 和 spring-boot-starter-data-mongodb 根据here 给出的教程。我正在尝试为 MongoRepository 创建自定义方法,但没有成功。

我已按照为adding custom behavior to single repositories 提供的步骤进行操作,但是当我尝试访问自定义方法时出现 404 错误。点击父端点也没有显示该方法的迹象,但我没想到它会这样做。

请帮帮我!我做错了什么!?

我的代码如下:

Application.java

@SpringBootApplication
public class Application extends AbstractMongoConfiguration 
    public static void main(String[] args) 
        SpringApplication.run(Application.class, args);
    

ItemRepositoryCustom.java

public interface ItemRepositoryCustom 
    void customMethod();

ItemRepositoryImpl.java

public class ItemRepositoryImpl 
    @Override
    public void customMethod() 
        ...
    

ItemRepository.java

@RepositoryRestResource(collectionResourceRel="items", path="items")
public interface ItemRepository extends MongoRepository<Item, String>, ItemRepositoryCustom 
    List<Item> findByName(@Param("name") String name);

【问题讨论】:

根据***.com/questions/21116539/…,Spring Data Rest 中不允许自定义存储库。 已经提问并回答:***.com/a/25217113/5873923 - 有人可以将此标记为重复吗? 【参考方案1】:

将您的自定义实现类名称从 ItemRepositoryImpl 更改为 ItemRepositoryCustomImpl

我在这里关注了spring documentation。

干杯!

【讨论】:

以上是关于Spring Boot MongoDB REST - 自定义存储库方法的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 2.2.0 应用程序中命中 REST 端点的问题

使用spring boot在mongodb中进行多个搜索查询

如何在 Spring Boot 中从 mongodb 更改 geojson (GeoJsonPolygon) 的编组?

部署在 Tomcat 上的 Spring Boot Rest API 提供 404 但独立工作一切正常

Spring Boot 应用程序未连接到 Mongodb 的 application.property 中指定的数据库

Mongodb + SpringBoot REST API + Docker Compose 不工作