【发布时间】:2021-06-24 19:47:09
【问题描述】:
我正在使用 spring-data-rest 并且我有一个这样的 JpaRepository:
@RepositoryRestResource(path = "projects")
public interface ProjectsRepository extends JpaRepository<MetricsProjects, Integer> {...}
我的仓库界面:
@RepositoryRestResource(path = "projects")
public interface ProjectsRepository extends JpaRepository<MetricsProjects, Integer> {
List<MetricsProjects> findByProjectName(String projectName);
@Override
@RestResource(exported = false)
public void deleteById(Integer id);
@Override
@RestResource(exported = false)
public void delete(MetricsProjects entity);
@Override
@RestResource(exported = false)
public void deleteAll(Iterable<? extends MetricsProjects> entities);
@Override
@RestResource(exported = false)
public void deleteAll();
@Override
@RestResource(exported = false)
public void deleteInBatch(Iterable<MetricsProjects> entities);
@Override
@RestResource(exported = false)
public void deleteAllInBatch();
}
我还添加了 disableDefaultExposure() ,正如某处建议的那样。
我的配置文件:
@Configuration
public class SpringDataRestConfiguration implements RepositoryRestConfigurer {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration restConfig) {
restConfig.disableDefaultExposure();
}
}
但我仍然看到从我的 Swagger-UI 中暴露的 DELETE 方法,我该如何防止这种情况发生?
【问题讨论】:
标签: spring-boot spring-data-jpa swagger spring-data-rest