Prima a tutti ho letto la domanda precedente: Exposing link on collection entity in spring data RESTEsporre i collegamenti ipermediali su collezione ancora è vuoto utilizzando primavera dati Resto
Ma il problema ancora persiste, senza trucco.
Infatti se voglio esporre un link per una collezione di risorse Sto utilizzando il seguente codice:
@Component
public class FooProcessor implements ResourceProcessor<PagedResources<Resource<Foo>>> {
private final FooLinks fooLinks;
@Inject
public FooProcessor(FooLinks fooLinks) {
this.FooLinks = fooLinks;
}
@Override
public PagedResources<Resource<Foo>> process(PagedResources<Resource<Foo>> resource) {
resource.add(fooLinks.getMyCustomLink());
return resource;
}
}
che funziona correttamente se non quando la raccolta è vuoto ...
L'unica modo per funzionare è quello di sostituire il mio codice seguente da:
@Component
public class FooProcessor implements ResourceProcessor<PagedResources> {
private final FooLinks fooLinks;
@Inject
public FooProcessor(FooLinks fooLinks) {
this.FooLinks = fooLinks;
}
@Override
public PagedResources process(PagedResources resource) {
resource.add(fooLinks.getMyCustomLink());
return resource;
}
}
Ma facendo ciò il collegamento verrà esposto per tutta la raccolta S.
Posso creare condizioni per esporre solo per quello che voglio ma non penso sia pulito.