我有个问题。我制作了一个使用spring-data的应用程序,并使用spring-data-rest将其公开为REST服务。一切都很顺利,直到我想有一个定制的实现。我用一个附加的方法创建了一个CustomSomethingRepository和一个SomethingRepositoryImpl。Spring data repository接口扩展了CustomSomethingRepository,一切都很好,我可以直接从测试中执行我的方法,定制实现也被执行。然后我尝试通过REST api获得它,但我很惊讶这个方法不能通过/somethings/search获得。我几乎百分之百肯定它在spring boot 1.3.x和JParepositories中运行良好。现在我正在使用boot 1.5.x和MongoreRepository。请看一下我的示例代码:
@RepositoryRestResource
public interface SomethingRepository extends CrudRepository<Something>, CustomSomethingRepository {
//this one is available in /search
@RestResource(exported = true)
List<Something> findByEmail(String email);
}
和自定义接口
public interface CustomSomethingRepository {
//this one will not be available in /search which is my problem :(
List<Something> findBySomethingWhichIsNotAnAttribute();
}
@RepositoryRestResource
public class SomethingRepositoryImpl implements CustomSomethingRepository {
@Override
public List<Something> findBySomethingWhichIsNotAnAttribute() {
return new ArrayList<>(); //dummy code
}
}
谢谢!
由于您的自定义方法返回一个列表,您应该将它放在某个ThingRepository,spring data rest将把它放在/search路径上。添加列表findByNotAttribute()
@RepositoryRestResource public interface SomethingRepository extends CrudRepository<Something> {
@RestResource(exported = true)
List<Something> findByEmail(String email);
List<Something> findByNotAttribute(@Param String attribute);
}
http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/repositories.html Spring Data的MongoTemplate和MongoRepository有什么区别? 我这样做是因为我需要使用MongoTemplate进行特殊查询。 这里也描述了这个问题,但解决方案似
为什么即使在接口中可用也不公开? 另外,是否有一种方法可以动态地/以编程方式添加要通过REST公开的资源库?
下面的类是自定义标记的实现。 稍后在我的jsp中,当我尝试使用textColor时,我发现它是空的 当然,在tld中,我声明了一个属性var。 如何公开自定义标签的结果?
我正在使用Spring开发一个应用程序。在Access Control Access一节中,我想使用Spring Security Acl(我是Acl的新手)。我想在我的应用程序中实现ACL基于两点: 应用程序应该具有以下五种权限:、、、和。 权限是分层的,当用户具有权限时,它应该能够,或者当用户具有权限时,它应该能够、和等。 更新: 我的应用程序是基于Spring MVC RESTful的。当用
我试图通过quarkus的一些教程,在创建一个简单的RESTendpoint时遇到了一个问题。下面是本教程:https://quarkus.io/guides/rest-data-panache。 Im使用指南中的方法创建扩展PanacheEntityResource 的接口 相应的实体是:
我想用自定义实现扩展,因此添加了一个接口和一个扩展该接口的类。 有没有方法在我的自定义类中调用中的方法? 注意:这也是在https://stackoverflow.com/a/11881203/40064上作为评论提出的,但我认为这很常见,值得单独提出一个问题。