Rag*_*nya 6 spring spring-data spring-data-rest
我有要求在哪里我需要使用自定义控制器覆盖其余资源的删除功能。这是restResource的代码
@RepositoryRestResource
public interface SampleRepository extends JpaRepository<Sample,Long>{
List<Sample> findBySampleNumber(@Param("sampleNumber") String sampleNumber);
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个自定义控制器,该控制器仅覆盖删除功能
@RepositoryRestController
@RequestMapping("/api/samples")
public class SampleController{
@Autowired
SampleRepository sampleRepository;
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseBody
public void delete(@PathVariable Long id) {
//do some custom logic here
//then delete the sample
//sampleRepository.delete(id);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果现在尝试GET api/samples/1(someId)在RepositoryRestResource上进行搜索或查找某些搜索功能,则会看到以下错误
"description": "Request method 'GET' not supported"
有没有办法只覆盖一个HTTP动词,其余的功能就来自存储库。
但是,如果我public void delete从控制器中进行评论,则可以访问所有的Crud和Search操作
有没有人遇到过这样的问题
我在用 SPRING_DATA_REST-2.5.1-Release
您需要将控制器定义为
@RepositoryRestController
public class SampleController{
@Autowired
SampleRepository sampleRepository;
@RequestMapping(value = "/api/samples/{id}", method = RequestMethod.DELETE)
public void delete(@PathVariable Long id) {
}
Run Code Online (Sandbox Code Playgroud)
Spring数据提供了在域创建,保存和删除之前和之后执行的不同事件。
请参阅http://docs.spring.io/spring-data/rest/docs/current/reference/html/#events
| 归档时间: |
|
| 查看次数: |
6531 次 |
| 最近记录: |