Spring Boot efficient search API
1.0.0
リソース コレクションは多くの場合膨大であり、リソース コレクションから何らかのデータを取得する必要がある場合、常に完全なリストを取得して特定の項目を参照するのはあまり効率的ではありません。したがって、最適化された検索 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
2 ページ目 (レコード 101 ~ 200) から作成日の降順に並べ替えられた、日本の自動車 100 台のリストが表示されます。
$ git clone https://github.com/Raouf25/Spring-Boot-efficient-search-API.git
$ docker build -t= " spring-boot-efficient-search-api " --force-rm=true .
このコマンドは、Maven ビルドを実行して 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
cURL と jq を使用した API のプル、実行、クエリについては、「Docker コマンド」セクションを参照してください。
詳細については、この媒体の投稿を参照してください。
Spring Boot の効率的な検索 API Copyright © 2020 by Abderraouf Makhlouf [email protected]