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]