I am working with Spring Hateoas for HAL standards in HTTP response. I have a HTTP DELETE method in my controller which returns nothing (void). And in the response for same entity I want to provide a link to delete a resource. I tried to do with following code but it gives error
Cannot resolve method linkTo(void)
resource.add(linkTo(
methodOn(DokumenteController.class)
.loeschenEinDokument(filenetDokumentZuordnung.getDokumentId()))
.withRel("download"));
Is there any way I can add a link to a method which returns void?
Don't return void
. Return ResponseEntity<Void>
instead.
Chances are, that you have to set some headers anyway, even if you don't return a message body. Or you want to set a status code.
If your controller has an appropriate request mapping you can also do the following:
resource.add(linkTo(DokumenteController.class)
.slash(filenetDokumentZuordnung.getDokumentId())
.withRel("download"));
I doubt it's possible to link to a DELETE
route.
Hateoas is allowing you to discover your REST API, but a REST API means that in order to delete the document available at /document/42
you should call the same route, but with a DELETE
method.
Basically, you don't have to make a link to your deletion method, because it is implicit that this is the way to delete your document.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With