Ami*_*169 1 java rest spring spring-data
我想使用spring数据rest的RestResource注释。如您所知,它默认情况下公开所有CRUD方法。但是我只需要findAll方法。一种方法是将所有其他方法的导出值设置为false,如下所示:
@RestResource(path="questions")
public interface QuestionRepository extends CRUDRepository<Question,Long> {
@RestResource(exported = false)
void delete(Long id);
@RestResource(exported = false)
void create(Question q);
....
}
Run Code Online (Sandbox Code Playgroud)
但是我不喜欢这样。还有其他更简单的方法可以避免这种冶金吗?
小智 5
有一个简单的标准解决方案,我尝试并发现它可以在Spring Boot 2.0.2中工作。编写如下所示的配置类,并设置setExposeRepositoryMethodsByDefault(false)并完成:)
@Component
public class SpringRestConfiguration extends RepositoryRestConfigurerAdapter {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.setRepositoryDetectionStrategy(RepositoryDetectionStrategy.RepositoryDetectionStrategies.ANNOTATED);
config.setExposeRepositoryMethodsByDefault(false);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |