当前位置: 首页 > 知识库问答 >
问题:

如何防止某些HTTP方法从我的MongoRepository导出?

曹超
2023-03-14

我使用的是spring-data-rest,我有一个MongoRepository如下所示:

@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}

我希望允许GET方法,但禁用PUT、POST、PATCH和DELETE(只读web服务)。

@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);
}

共有1个答案

锺离伟彦
2023-03-14

多亏了Oliver,下面是重写的方法:

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends MongoRepository<Person, String> {

    // Prevents GET /people/:id
    @Override
    @RestResource(exported = false)
    public Person findOne(String id);

    // Prevents GET /people
    @Override
    @RestResource(exported = false)
    public Page<Person> findAll(Pageable pageable);

    // Prevents POST /people and PATCH /people/:id
    @Override
    @RestResource(exported = false)
    public Person save(Person s);

    // Prevents DELETE /people/:id
    @Override
    @RestResource(exported = false)
    public void delete(Person t);

}
 类似资料:
  • 问题内容: 我们有一个Android / Blackberry项目,其中有一个共同的部分。显然,该部分被编写为可同时针对Android和Blackberry目标进行编译,因此无法使用某些较新的Java功能(例如Integer.valueOf)。我想跳过一些专门针对该部分的规则。有没有办法做到这一点? 问题答案: 如果将通用零件分离到自己的项目,则可以在Sonar中添加新的质量配置文件(在其中停用了

  • 问题内容: 我有几个使用共享资源(数据库)的作业,有时这会在(碰巧)同时触发作业的(罕见)事件中导致构建失败。 例如,给定作业A到E,是否有任何方法可以指定A和C 绝不能同时运行 ? 除上述资源外,构建彼此独立(例如,不存在上游/下游关系)。 “强力”方式将执行者的数量限制为一个,但是如果大多数作业可以很好地同时执行并且在构建服务器上不缺少计算资源,那么显然这不是理想的选择。 问题答案: 当前有两

  • 我有一个Android客户端向服务器发出HTTPS请求。防火墙日志包含不需要的连接请求方法的条目。 何时发送 CONNECT 请求,如何防止其发送?我只期望收到 GET 请求。我的理解是,对 openConnection() 的调用实际上并没有发出请求,并且 GET 请求将继续调用以获得响应消息()。 如何禁止 http 客户端尝试建立代理隧道? 以下是我发送连接和拨打电话的方式: 编辑: 这是我

  • 本文向大家介绍防止过拟合有哪些方法相关面试题,主要包含被问及防止过拟合有哪些方法时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)Dropout ;2)加L1/L2正则化;3)BatchNormalization ;4)网络bagging

  • 我使用Spring Boot框架构建了一个REST接口。然后,我使用Swagger版本2.9.2来生成文档。从下面的照片可以看到,Swagger自动检测了很多模型。 所以,我的问题是:我怎么告诉Swagger该曝光哪些模特? 下面是我的控制器的Swagger配置和代码片段。 控制器:

  • 目前,api看起来像:- 员工详情:- 所以问题是要避免xss攻击 例如,如果它是这段代码