2016-01-24 35 views

Odpowiedz

7

Można skonfigurować to za pomocą RepositoryRestConfigurerAdapter na poziomie jednostki.

@Configuration 
public class ExposeEntityIdRestConfiguration extends RepositoryRestConfigurerAdapter { 

    @Override 
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { 
     config.exposeIdsFor(MyEntity.class); 
    } 
} 

Należy pamiętać, że używanie tego podczas pracy na zasadach wiosennej-data-reszta - SDR promuje Hypermedia, aby móc korzystać z API, przechodząc pomiędzy zasobami z wykorzystaniem łącza - tutaj swoje zasoby są identyfikowane i odwołuje linki i tym samym identyfikatory nie są już potrzebne. Używanie identyfikatorów ids na kliencie powoduje złożoność budowania linków do zasobów do klienta. A klient nie powinien przejmować się tą wiedzą.

+4

Czy istnieje sposób na ujawnienie identyfikatorów wszystkich podmiotów jednocześnie? Dla np. ustawienie w config? – thorinkor

+0

Jak mogę to zrobić dla wszystkich podmiotów jednocześnie? Mamy wiele pakietów, o których ten moduł nie wie. – BigDong

0

Najlepszym rozwiązaniem byłoby nie używanie identyfikatorów swoich podmiotów i korzystanie z odsyłaczy odsyłaczy do hipermediów. Musisz tylko przeanalizować JSON zgodnie ze specyfikacją HAL używaną przez Spring Data Rest.