2016-12-07 20 views
1

我正在与Spring Hateoas HALT标准在HTTP响应。我在我的控制器中有一个HTTP DELETE方法,它不返回任何东西(void)。在对同一实体的响应中,我想提供一个链接来删除资源。我试着用下面的代码做的,但它给错误字符串Hateoas链接到一个无效方法

无法解析方法linkTo(无效)

resource.add(linkTo(
      methodOn(DokumenteController.class) 
        .loeschenEinDokument(filenetDokumentZuordnung.getDokumentId())) 
          .withRel("download")); 

有什么办法,我可以添加一个链接到返回void的方法?

+0

见http://stackoverflow.com/questions/30574431/how-to-create-link-pointing-to- spring-controller-action-that-returns-void可以提供帮助,虽然单个答案尚未被接受也没有upvoted ... – sp00m

回答

5

不返回void。改为返回ResponseEntity<Void>

很可能,即使您不返回邮件正文,您也必须设置某些标头。或者你想设置一个状态码。

如果您的控制器有一个适当的请求映射你也可以做到以下几点:

resource.add(linkTo(DokumenteController.class) 
      .slash(filenetDokumentZuordnung.getDokumentId()) 
      .withRel("download")); 
2

我怀疑有可能链接到DELETE路线。

Hateoas允许您发现您的REST API,但是REST API意味着要删除/document/42处可用的文档,您应该调用相同的路由,但使用DELETE方法。

基本上,您不必创建链接到您的删除方法,因为这是隐含的,这是删除文档的方式。

相关问题