[解決済み] Spring Data Rest - 複数のプロパティでソートする
質問
以下のようなエンティティがあります。
Class Person{
String id;
String name;
String numberOfHands;
}
Spring Data Rest (Gosling Release Train)で、指定するのは
localhost/Person?sort=name,asc
で名前の昇順でソートしています。さて、numberOfHandsの降順と名前の昇順でソートする必要がある場合です。という指定ができるようになりました。
localhost/Person?sort=numberOfHands,name,asc
という指定がありますが
localhost/Person?sort=numberOfHands,desc,name,asc
ソート順を複数指定する方法はありますか?
ありがとうございます。
どのように解決するのですか?
解決方法 (tl;dr)
複数のフィールドで並べ替えを行う場合、単純に
sort
パラメータを URI に複数回記述します。例えば
your/uri?sort=name,asc&sort=numberOfHands,desc
. Spring Dataは
Pageable
オブジェクトを複数のソートで構成することができます。
説明
URI のパラメータに複数の値を送信する方法については、実際には定義された標準がありません。参照 GETリクエストで同じパラメータ名に対して複数の値を渡す正しい方法 .
しかし Java サーブレット仕様 には、Java サーブレットコンテナがどのようにリクエストパラメータを解析するかのヒントとなる情報があります。
は
getParameterValues
の配列を返します。String
オブジェクトの配列を返します。- Javaサーブレット仕様、セクション3.1
そのセクションのさらに上のサンプルでは、(リクエストデータとボディデータが混在していますが)次のように記述されています。
例えば、クエリ文字列が
a=hello
で、ポストボディがa=goodbye&a=world
である場合、結果として得られるパラメータセットは次のようになります。a=hello, goodbye, world
.
このサンプルでは、パラメータ(
a
)が複数回提示された場合、その結果が集約されて
String[]
.
関連
-
[解決済み】Spring Data Maven Buildsの「プラグインの実行はライフサイクル構成でカバーされていません」を解決する方法
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] Spring DataでOrderByをfindAllで使用する方法
-
[解決済み] Springのセキュリティ認証の例外を@ExceptionHandlerで処理する
-
[解決済み] Spring @PostConstruct と init-method 属性の比較
-
[解決済み] Spring BeanPostProcessorは具体的にどのように動作するのですか?
-
[解決済み] Spring Securityをセッションなしで使用するにはどうすればよいですか?
-
[解決済み] RequestBodyと@RequestParamの違いは何ですか?
-
[解決済み] SpringアプリケーションのコンテキストをJunitのテストクラスで再利用する
-
[解決済み] クオーツ 決して実行されないCron式
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GETリクエストで同じパラメータ名で複数の値を渡す場合の正しい方法
-
[解決済み] Spring Data JPAでネイティブクエリ結果をNon-Entity POJOにマップする。
-
[解決済み] Spring CrudRepositoryで大文字小文字を区別しないクエリ
-
[解決済み] Spring BeanPostProcessorは具体的にどのように動作するのですか?
-
[解決済み] SpringでLocalDateTime RequestParamを使用するには?StringからLocalDateTimeへの変換に失敗しました」と表示される。
-
[解決済み] kotlinで@Autowiredのようなspringアノテーションを使用する方法とは?
-
[解決済み] Map または Properties オブジェクトとしてすべての環境プロパティにアクセスする
-
[解決済み] SpringアプリケーションのコンテキストをJunitのテストクラスで再利用する
-
[解決済み] Spring MVC @RestControllerとリダイレクト
-
[解決済み] Spring Cloud Eureka Server の自己保存と更新閾値を理解する