Khi sử dụng Spring Data REST, nó có một cái gì đó được thiết kế đặc biệt cho việc này. Có khái niệm về Phép chiếu và đoạn trích với nó, bạn có thể chỉ định những gì và cách bạn muốn trả lại nó.
Đầu tiên, bạn sẽ tạo một giao diện chỉ chứa các trường bạn muốn.
@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
String getEmail();
String getId();
String getName();
}
Sau đó, trên PersonRepository
của bạn thêm điều này làm mặc định để sử dụng (sẽ chỉ áp dụng cho các phương thức trả về bộ sưu tập!).
@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}
Sau đó, khi thực hiện truy vấn cho một tập hợp, bạn sẽ chỉ nhận được các trường như được chỉ định trong phép chiếu và khi lấy một trường hợp duy nhất, bạn sẽ nhận được đối tượng đầy đủ.