Koleksi sumber daya seringkali sangat besar, dan ketika beberapa data harus diambil darinya, akan menjadi tidak efisien jika selalu mendapatkan daftar lengkap dan menelusuri item tertentu. Oleh karena itu kita harus merancang API Pencarian yang dioptimalkan.
Penyaringan:
GET /api/cars ? country=Japan
GET /api/cars ? createDate=2019-11-11
Penyortiran:
GET /api/cars ? sort=createDate,asc
GET /api/cars ? sort=createDate,desc
halaman:
GET /api/cars ? limit=100
GET /api/cars ? offset=2
Gabungkan fitur:
GET /api/cars ? country=Japan & sort=createDate,desc & limit=100 & offset=2
Hasil daftar 100 mobil asal Jepang, diurutkan berdasarkan tanggal pembuatan dalam urutan menurun, mulai dari halaman kedua (catatan 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 .
Perintah ini menjalankan Maven build untuk membuat paket JAR dan membangun image Docker.
Catatan: Perintah awal mungkin memerlukan waktu untuk mengunduh image dasar dari DockerHub
$ docker run -p 8080:8080 -it --rm spring-boot-efficient-search-api
$ curl localhost:8080/api/cars/1
Tanggapan:
{
"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 } ' )
Proyek ini diterapkan di https://spring-boot-efisien-search-api.fly.dev/api/cars
Coba: Tautan Demo
Gambar Docker: raouf25/spring-boot-efisien-search-api
Lihat bagian Perintah Docker untuk menarik, menjalankan, dan menanyakan API menggunakan cURL dan jq.
Untuk lebih jelasnya silakan lihat posting media ini.
Spring Boot Pencarian Efisien Api Hak Cipta © 2020 oleh Abderraouf Makhlouf [email protected]