Ich habe eine einfache Definition eines Repos:
public interface StorageService extends CrudRepository<Car, Long> {}
Ich kann Curl verwenden, um Elemente zu erstellen und zu sehen. Beispiele für get und create (unten):
curl -v http://localhost:8080/cars
curl -i -X POST -H "Content-Type:application/json" -d "{"licensePlate" : "Vegan is Moral" }" http://localhost:8080/cars
Grundsätzlich benutze ich die save()
und findAll()
Methoden aus CrudRepository.
Wie kann ich das aufrufen? count()
Methode mit Curl, die auch definiert ist in CrudRepository
(ohne zusätzliche Services zu definieren)?
Antworten:
1 für die Antwort № 1Ich glaube nicht, dass es out-of-the-box möglich ist.
Meiner Meinung nach (vielleicht liege ich falsch.), weil Spring Data Rest im Grunde Rest-Endpunkte über HTTP-Methoden (GET, POST, ....) für die Ausführung von Operationen an Ihrer Ressource (Entitäten) bereitstellt und get count keine HTTP-Operation ist
Aber Sie können dies auf andere Weise erreichen.
Schreiben Sie eine solche Methode in Ihre Repository-Klasse.
Car countByModel(String model);
Dies würde einen GET-Endpunkt bei verfügbar machen / Autos / Suche / countByModel
oder so
Dies würde einen GET-Endpunkt bei verfügbar machen / Autos / Suche / getCount@Query("select count(*) from Car") long getCount();