2016-10-01 59 views
1

我遵循指令here概述爲我的MongoDB存儲庫實現自定義方法。但是,沒有一種自定義方法似乎可用(春天似乎沒有發現findAllSeriesuploadSomeSeries)。我已經檢查了命名Spring數據MongoDB自定義存儲庫方法實現

SeriesRepository:

@RepositoryRestResource(collectionResourceRel = "series", path = "series", excerptProjection = SeriesProjection.class) 
public interface SeriesRepository extends MongoRepository<Series, String>, SeriesRepositoryCustom { 

    List<Series> findByWinnerId(@Param("id") String id); 
} 

SeriesRepositoryCustom:

public interface SeriesRepositoryCustom { 

    ResponseEntity<Void> createSeries(Series series); 
} 

SeriesRepositoryImpl:

public class SeriesRepositoryImpl implements SeriesRepositoryCustom { 

    private final MongoOperations operations; 

    @Autowired 
    public SeriesRepositoryImpl(MongoOperations operations) { 
     this.operations = operations; 
    } 

    @Override 
    @RequestMapping(method = RequestMethod.POST) 
    public ResponseEntity<Void> createSeries(@RequestBody Series series) { 
     // ... implementation 
    } 
} 

回答

1

明白了;通過this答案,我必須爲我的存儲庫實現控制器,並將調用委託給定製存儲庫中定義的方法:

@RepositoryRestController 
public class SeriesController { 

    private final SeriesRepository repository; 

    @Autowired 
    public SeriesController(SeriesRepository repo) { 
     repository = repo; 
    } 

    @RequestMapping(value = "/series", method = RequestMethod.POST) 
    public ResponseEntity<Void> create(@RequestBody Series series) { 
     return repository.createSeries(series); 
    } 
} 
相關問題