Vorrei esporre nuovi endpoint per il mio repository che estende anche RevisionRepository.Spring Data Rest: Esporre nuovi endpoint per repository che estendono Repository di revisione
@RepositoryRestResource(collectionResourceRel = "persons", itemResourceRel = "person", path = "persons")
public interface PersonRepository extends PagingAndSortingRepository<PersonEntity, Long>, RevisionRepository<PersonEntity, Long, Integer> {
Revision<Integer, PersonEntity> findLastChangeRevision(@Param("id") Long id);
Revisions<Integer, PersonEntity> findRevisions(@Param("id") Long id);
Page<Revision<Integer, PersonEntity>> findRevisions(@Param("id") Long id, Pageable pageable);
PersonEntity findByName(@Param("name") String name);
}
Il mio problema in questo momento, è che questi nuovi metodi non sono esposti come URL (findLastChangeRevision
, findRevisions
) e solo findByName
è sotto l'URL di ricerca. Al momento non sono molto particolare riguardo alla forma dell'URL, a condizione che funzioni.
L'unica opzione che so in questo momento è quello di
- separati repository la revisione
- Creare un nuovo controller che mappa a "/", in sostituzione di quello creato da primavera dati Riposo, e aggiungere tutti il repository si collega manualmente. Uno dei miei problemi qui è che i miei link saranno hardcoded (a differenza del collegamento a Controller), e i percorsi saranno relativi - non necessariamente negativi, ma renderanno tutto incoerente.
- aggiungere collegamenti a "/" che associa ai repository di revisione
ho un sacco di prenotazioni con la mia scelta di cui sopra. Non sono sicuro di come procedere.
Sono anche interessato alla risposta a questa domanda. Mi sono imbattuto in un problema simile in cui voglio estendere le API del CrudRepository –