غالبًا ما تكون مجموعات الموارد هائلة، وعندما يتعين استرداد بعض البيانات منها، لن يكون من الفعال جدًا الحصول دائمًا على القائمة الكاملة وتصفحها بحثًا عن عناصر محددة. لذلك يجب علينا تصميم واجهة برمجة تطبيقات بحث محسنة.
تصفية:
GET /api/cars ? country=Japan
GET /api/cars ? createDate=2019-11-11
فرز:
GET /api/cars ? sort=createDate,asc
GET /api/cars ? sort=createDate,desc
الترحيل:
GET /api/cars ? limit=100
GET /api/cars ? offset=2
الجمع بين الميزات:
GET /api/cars ? country=Japan & sort=createDate,desc & limit=100 & offset=2
النتائج في قائمة 100 سيارة من اليابان مرتبة حسب تاريخ الإنشاء ترتيباً تنازلياً بدءاً من الصفحة الثانية (سجلات 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 .
يقوم هذا الأمر بتشغيل Maven build لإنشاء حزمة JAR وإنشاء صورة Docker.
ملاحظة: قد يستغرق الأمر الأولي بعض الوقت لتنزيل الصورة الأساسية من DockerHub
$ docker run -p 8080:8080 -it --rm spring-boot-efficient-search-api
$ curl localhost:8080/api/cars/1
إجابة:
{
"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 } ' )
تم نشر هذا المشروع على https://spring-boot-efficiency-search-api.fly.dev/api/cars
جرب: الرابط التجريبي
صورة عامل الميناء: raouf25/spring-boot-efficiency-search-api
ارجع إلى قسم أوامر Docker لسحب واجهة برمجة التطبيقات وتشغيلها والاستعلام عنها باستخدام cURL وjq.
لمزيد من التفاصيل يرجى الاطلاع على هذه المشاركة المتوسطة .
Spring Boot Efficient Search Api حقوق النشر © 2020 بواسطة عبد الرؤوف مخلوف [email protected]