1

Spring MVC と Hibernate を使用するアプリケーションに取り組んでいます。私はいくつかの RESTful Web サービスを実装しており、サーバー側でコレクションを簡単にフィルタリングする方法に興味があります。

例として、従業員エンティティのコレクションをフィルタリングできるようにしたいと考えています。RQLGoogleがカスタム検索を処理する方法、Ebay の回答、さらには Yahoo のYQLなど、いくつかのオプションを調査しました。それらはすべてフィルタリングの質問に対する良い答えのようですが、この概念を簡単に実装できるライブラリが見つからないようです。

私はここで見つけました:

Apache CXF は、2.3.0 リリース以降、JAX-RS 実装で FIQL サポートを導入しました。

しかし、すでに Spring MVC を使用しています。

たとえば、以下の太字のクエリ文字列を取得して、それを SQL または Hibernate がフィルタリングに使用できるものに変換するためのライブラリがないことに驚いています。

/従業員?lastname=john または jon&hiredate lt 20010201

私の考えが間違っている可能性は十分にありますが、コミュニティの経験と知識を利用したかったのです。私は何が欠けていますか?

4

2 に答える 2

0

そのような GET を SQL に直接変換するライブラリは、非常に安全ではない可能性があります。ユーザーが SQL インジェクションを実行するために URL をいじっていないことを確認するために、何らかの検証を行うための中間層が必要です。

私の知る限り、あなたができる最善の方法は、JAX-RS 実装を使用してこれらのクエリ パラメーターをクリーンに読み取り、検証し、準備済みの SQL ステートメントのようなものを使用してそれらを安全に実行することです。

于 2012-05-09T21:15:28.547 に答える