Ada opsi ketiga (dan keempat) yang belum Anda buat garis besarnya, yaitu menggunakan @BasePathAwareController atau @RepositoryRestController, bergantung pada apakah Anda melakukan tindakan khusus entitas atau tidak.
@RepositoryRestResource digunakan untuk menyetel opsi pada antarmuka Repositori publik - ini akan secara otomatis membuat titik akhir yang sesuai berdasarkan jenis Repositori yang sedang diperluas (yaitu CrudRepository / PagingAndSortingRepository / dll).
@BasePathAwareController dan @RepositoryRestController digunakan saat Anda ingin membuat endpoint secara manual, tetapi ingin menggunakan konfigurasi Spring Data REST yang telah Anda siapkan.
Jika Anda menggunakan @RestController, Anda akan membuat serangkaian titik akhir paralel dengan opsi konfigurasi yang berbeda - yaitu konverter pesan yang berbeda, penangan kesalahan yang berbeda, dll - tetapi mereka akan dengan senang hati hidup berdampingan (dan mungkin menyebabkan kebingungan).
Dokumentasi khusus dapat ditemukan di sini .