字符串 Hateoas link 到 void 方法

String Hateoas link to a void method

我正在与 Spring Hateoas 合作,以实现 HTTP 响应中的 HAL 标准。我的控制器中有一个 HTTP DELETE 方法,returns 什么都没有(无效)。在对同一实体的响应中,我想提供一个 link 来删除资源。我尝试使用以下代码,但它给出了错误

Cannot resolve method linkTo(void)

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

有什么方法可以将 link 添加到 returns 无效的方法中?

我怀疑 link 到 DELETE 路线是否可行。

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

基本上,您不必对删除方法进行 link,因为这是隐含的删除文档的方法。

不要returnvoid。 Return ResponseEntity<Void> 代替。

很有可能,无论如何您都必须设置一些 headers,即使您没有 return 消息 body。或者你想设置一个状态码。

如果您的控制器有适当的请求映射,您还可以执行以下操作:

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