私たちが構築しているRest-apiには、クライアントに転送される(役に立たない)データが多すぎるのを防ぐために、何らかのフィルタリングシステムが必要です。@MatrixParameter の使用は、URI の複数の「レベル」でフィルタリングする読み取り可能な方法を可能にするため、優れたソリューションのように思えます。
ただし、私たちの API には、コンパイル時に定義されていないクライアントがフィルター処理したいフィールドがあります (クライアントごとに異なる場合があります)。これにより、@matrixParam アノテーションでこれらのフィールドを指定することはできなくなります。
だから私は、マップを「Bean」オブジェクトの受信として使用する方法があることを望んでいました
つまり: GET を実行するとき
https://api.example.com/rest/filtered_get;param1=value1;param2=value2/optional/continuation/of/uri/
param1、param2をキーとして、value1とvalue2を値として含むマップになります
@Get()
@Path("filtered_get")
public Response getter(@matrixParam("") HashMap<String, String/Object>parameters) {
//doStuffWiththeParameters;
}
サービスはcxfで実装されています