【发布时间】:2015-05-24 01:12:45
【问题描述】:
我正在使用 spring-data-rest 并且我有一个这样的 MongoRepository:
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}
我想允许 GET 方法,但禁用 PUT、POST、PATCH 和 DELETE(只读网络服务)。
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
@Override
@RestResource(exported = false)
public MyEntity save(MyEntity s);
@Override
@RestResource(exported = false)
public void delete(String id);
@Override
@RestResource(exported = false)
public void delete(MyEntity t);
}
它似乎不起作用,因为我仍然可以执行 PUT、POST、PATCH 和 DELETE 请求。
【问题讨论】:
-
应该可以,你能提供一个测试用例/测试项目来显示这个失败吗?
-
今天再次测试后,确实有效。但是,我找不到如何限制 /myEntities 上的 GET 方法。将注解添加到
List<MyEntity> findAll();没有任何作用。 -
MongoRepositoryextendsPagingAndSortingRepository所以你需要重新声明和注解findAll(Pageable pageable)。 -
谢谢,我根据你的cmets做了一个回答。
标签: spring spring-data spring-data-mongodb spring-data-rest