Spring Boot efficient search API
1.0.0
資源集合通常是巨大的,當必須從其中檢索某些資料時,始終獲取完整清單並瀏覽特定項目的效率並不高。因此我們應該設計一個最佳化的Search API。
過濾:
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-efficient-search-api.fly.dev/api/cars
嘗試:演示鏈接
Docker 映像:raouf25/spring-boot-efficient-search-api
請參閱 Docker 命令部分,以了解使用 cURL 和 jq 拉取、執行和查詢 API。
有關更多詳細信息,請參閱此中等帖子。
Spring Boot 高效率搜尋 Api 版權所有 © 2020 Abderraouf Makhlouf [email protected]