2016-01-24 14 views

Trả lời

7

Bạn có thể định cấu hình điều này bằng cách sử dụng RepositoryRestConfigurerAdapter trên cấp tổ chức.

@Configuration 
public class ExposeEntityIdRestConfiguration extends RepositoryRestConfigurerAdapter { 

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

Hãy nhận biết rằng việc sử dụng này, bạn đang làm việc chống lại các nguyên tắc của lò xo dữ liệu còn lại - SDR thúc đẩy hypermedia để có thể sử dụng một API bằng cách điều hướng giữa các nguồn lực sử dụng liên kết - đây nguồn lực của bạn được xác định và được tham chiếu bởi liên kết và do đó các id không cần thiết nữa. Việc sử dụng các id trên máy khách của bạn sẽ đẩy tính phức tạp của việc xây dựng các liên kết đến các tài nguyên cho máy khách. Và khách hàng không nên bị làm phiền với kiến ​​thức này.

+4

Có cách nào để hiển thị id của tất cả các thực thể cùng một lúc không? Ví dụ: thiết lập trong cấu hình? – thorinkor

+0

Tôi có thể làm điều đó cho tất cả các thực thể cùng một lúc như thế nào? Chúng tôi có nhiều gói mô-đun này không biết về. – BigDong

0

Giải pháp tốt nhất là không sử dụng ID của các thực thể của bạn và sử dụng tham chiếu liên kết đến siêu dữ liệu cung cấp. Bạn chỉ cần phân tích cú pháp JSON theo thông số HAL được sử dụng bởi Spring Data Rest.

Các vấn đề liên quan