Spring数据MongoDB自定义存储库方法实现
我按照概述的说明为我的MongoDB存储库实现定制方法。但是,所有定制方法似乎都不可用(Spring数据MongoDB自定义存储库方法实现,spring,spring-boot,spring-data,spring-data-mongodb,Spring,Spring Boot,Spring Data,Spring Data Mongodb,我按照概述的说明为我的MongoDB存储库实现定制方法。但是,所有定制方法似乎都不可用(findAllSeries和uploadSomeSeries似乎在spring中找不到)。我查过名字了 系列报道: @RepositoryRestResource(collectionResourceRel = "series", path = "series", excerptProjection = SeriesProjection.class) public interface SeriesReposi
findAllSeries
和uploadSomeSeries
似乎在spring中找不到)。我查过名字了
系列报道:
@RepositoryRestResource(collectionResourceRel = "series", path = "series", excerptProjection = SeriesProjection.class)
public interface SeriesRepository extends MongoRepository<Series, String>, SeriesRepositoryCustom {
List<Series> findByWinnerId(@Param("id") String id);
}
public interface SeriesRepositoryCustom {
ResponseEntity<Void> createSeries(Series series);
}
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
}
}
@RepositoryRestResource(collectionResourceRel=“series”,path=“series”,extractprojection=SeriesProjection.class)
公共接口SeriesRepository扩展了MongoRepository,SeriesRepositoryCustom{
列出findByWinnerId(@Param(“id”)字符串id);
}
系列存储自定义:
@RepositoryRestResource(collectionResourceRel = "series", path = "series", excerptProjection = SeriesProjection.class)
public interface SeriesRepository extends MongoRepository<Series, String>, SeriesRepositoryCustom {
List<Series> findByWinnerId(@Param("id") String id);
}
public interface SeriesRepositoryCustom {
ResponseEntity<Void> createSeries(Series series);
}
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
}
}
公共接口系列存储自定义{
响应创建系列(系列);
}
SeriesRepositoryImpl:
@RepositoryRestResource(collectionResourceRel = "series", path = "series", excerptProjection = SeriesProjection.class)
public interface SeriesRepository extends MongoRepository<Series, String>, SeriesRepositoryCustom {
List<Series> findByWinnerId(@Param("id") String id);
}
public interface SeriesRepositoryCustom {
ResponseEntity<Void> createSeries(Series series);
}
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
}
}
public类SeriesRepositoryImpl实现SeriesRepositoryCustom{
私人最终运营;
@自动连线
public SeriesRepositoryImpl(MongoOperations操作){
这是操作=操作;
}
@凌驾
@RequestMapping(method=RequestMethod.POST)
公共响应属性createSeries(@RequestBody Series){
//…实施
}
}
让它工作起来;通过answer,我必须为我的存储库实现一个控制器,并将调用委托给自定义存储库中定义的方法:
@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);
}
}
@RepositoryRestController
公共类串行控制器{
私有最终系列存储库;
@自动连线
公共系列控制人(系列存托回购){
储存库=回购;
}
@RequestMapping(value=“/series”,method=RequestMethod.POST)
公共响应创建(@RequestBody系列){
返回repository.createSeries(series);
}
}
在本例中,为什么需要SeriesRepository接口?