Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringDataREST:MongoDB存储库的自定义查询_Java_Spring_Mongodb_Rest_Spring Data - Fatal编程技术网

Java SpringDataREST:MongoDB存储库的自定义查询

Java SpringDataREST:MongoDB存储库的自定义查询,java,spring,mongodb,rest,spring-data,Java,Spring,Mongodb,Rest,Spring Data,我正在尝试根据从创建自定义查询。但是我的自定义方法无法从存储库的REST界面(/user/search)获得 (例如,浏览器无法找到本地主机:8080/user/search/GetByKidsAge?age=1) 有人能帮我解决这个问题并给我一些建议吗? 非常感谢 下面是我的代码: UserRepositoryCustom.java public interface UserRepositoryCustom { public List<User> GetByKi

我正在尝试根据从创建自定义查询。但是我的自定义方法无法从存储库的REST界面(/user/search)获得

(例如,浏览器无法找到本地主机:8080/user/search/GetByKidsAge?age=1)

有人能帮我解决这个问题并给我一些建议吗? 非常感谢

下面是我的代码:

UserRepositoryCustom.java

public interface UserRepositoryCustom {     

    public List<User> GetByKidsAge(@Param("age") int age);
}
public class UserRepositoryImpl implements UserRepositoryCustom {

    @Override
    public List<User> GetByKidsAge(int age) {

        return /*perform query*/;

    }
}
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {

        List<User> findByLastName(@Param("name") String name);  
}
公共接口UserRepositoryCustom{
公共列表GetByKidsAge(@Param(“age”)int-age);
}
UserRepositoryImpl.java

public interface UserRepositoryCustom {     

    public List<User> GetByKidsAge(@Param("age") int age);
}
public class UserRepositoryImpl implements UserRepositoryCustom {

    @Override
    public List<User> GetByKidsAge(int age) {

        return /*perform query*/;

    }
}
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {

        List<User> findByLastName(@Param("name") String name);  
}
public类UserRepositoryImpl实现UserRepositoryCustom{
@凌驾
公共列表GetByKidsAge(int年龄){
返回/*执行查询*/;
}
}
UserRepository.java

public interface UserRepositoryCustom {     

    public List<User> GetByKidsAge(@Param("age") int age);
}
public class UserRepositoryImpl implements UserRepositoryCustom {

    @Override
    public List<User> GetByKidsAge(int age) {

        return /*perform query*/;

    }
}
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {

        List<User> findByLastName(@Param("name") String name);  
}
@RepositoryRestResource(collectionResourceRel=“user”,path=“user”)
公共接口UserRepository扩展了MongoRepository、UserRepositoryCustom{
列出findByLastName(@Param(“name”)字符串名);
}

这是设计的。一旦您开始手动实现存储库方法,我们就无法知道
GET
还是
POST
是正确的HTTP方法,因为执行是否为幂等取决于您如何实现它

因此,方法是实现一个自定义控制器,并使用适当的HTTP方法公开这些方法。这就是说,我们的跟踪器中有一种方法可以提供定义这些方法的公开方式