Ressourcensammlungen sind oft riesig, und wenn einige Daten daraus abgerufen werden müssen, wäre es nur nicht sehr effizient, immer die vollständige Liste abzurufen und sie nach bestimmten Elementen zu durchsuchen. Deshalb sollten wir eine optimierte Such-API entwerfen.
Filterung:
GET /api/cars ? country=Japan
GET /api/cars ? createDate=2019-11-11
Sortierung:
GET /api/cars ? sort=createDate,asc
GET /api/cars ? sort=createDate,desc
Paging:
GET /api/cars ? limit=100
GET /api/cars ? offset=2
Kombinieren Sie Funktionen:
GET /api/cars ? country=Japan & sort=createDate,desc & limit=100 & offset=2
Ergibt die Liste der 100 Autos aus Japan, sortiert nach Erstellungsdatum in absteigender Reihenfolge, beginnend mit der zweiten Seite (Datensätze 101-200).
$ git clone https://github.com/Raouf25/Spring-Boot-efficient-search-API.git
$ docker build -t= " spring-boot-efficient-search-api " --force-rm=true .
Dieser Befehl führt Maven Build aus, um ein JAR-Paket zu erstellen und das Docker-Image zu erstellen.
Hinweis: Es kann einige Zeit dauern, bis der erste Befehl das Basis-Image von DockerHub herunterlädt
$ docker run -p 8080:8080 -it --rm spring-boot-efficient-search-api
$ curl localhost:8080/api/cars/1
Antwort:
{
"id" : 1 ,
"manufacturer" : " Acura " ,
"model" : " Integra " ,
"type" : " Small " ,
"country" : " Japan " ,
"createDate" : " 1931-02-01 "
}
docker stop $( docker container ls | grep " spring-boot-efficient-search-api:* " | awk ' { print $1 } ' )
Dieses Projekt wird auf https://spring-boot-efficient-search-api.fly.dev/api/cars bereitgestellt
Versuchen Sie: Demo-Link
Docker-Image: raouf25/spring-boot-efficient-search-api
Informationen zum Abrufen, Ausführen und Abfragen der API mithilfe von cURL und jq finden Sie im Abschnitt „Docker-Befehle“.
Weitere Einzelheiten finden Sie in diesem mittleren Beitrag .
Spring Boot Effiziente Such-API Copyright © 2020 von Abderraouf Makhlouf [email protected]