0

できれば JAX-B を使用して、Web サービスから XML として公開したい POJO があります。

XML で公開する必要があるフィールドは、リクエストを行っているユーザーのタイプによって異なります。たとえば、HumanResources および Finance ユーザーの役割があります。ユーザーは次のように定義できます。

@XmlRootElement

パブリック クラス ユーザー {

@XmlElement public String someHumanResourceData;

@XmlElement public String someFinanceData;

}

HR ユーザーには HR データを表示し、Finance には Finance データを表示したいのですが、それ以上は何もありません。HR は財務データを表示しないようにする必要があります。

これを行う方法について推奨されるアプローチはありますか? Web でより多くの情報を検索するために使用できる検索用語は何ですか?

魅力的とは思えないいくつかのアイデア: 1) サブクラス化を使用して、関連データのみを持つ FinanceUser と HumanResourceUser と、共有データを持つ親 User を公開できます。ただし、これは壊れやすく、小さな例で機能する可能性があります。生産には、より柔軟で構成的なアプローチが必要だと感じています。2) ある同僚が「ショッピング カート」アプローチを推奨しています。このアプローチでは、クライアントは要求ごとに必要なフィールドを要求します。私はこれを行う標準的な方法を見つけていないか、このアプローチを行った他の多くの人々でさえ見つけていません。それは私にとって本当に自家製で労働集約的なものに聞こえます。

他のアイデアはありますか?

4

1 に答える 1

0

サーバー側の Web サービスの実装でユーザーの役割を確認してみませんか?

Web サービス インターフェイスは何ですか?

public interface DarcysWebService {
    public HumanResourceResponse getHumanResourceData(Authentication a, HumanResourceRequest req);
    public FinanceResponse getFinanceData(Authentication a, FinanceRequest req);
}

次に、提供された認証データ (ユーザー名、パスワード) をユーザーのデータベース (uuid、ユーザー名、パスワード、ロール) に対してチェックし、ロールを使用して、応答が「エラー - あなたは持っていません」というメッセージであるかどうかを判断します。アクセス権限」を使用するか、応答のデータ フィールド/オブジェクトに要求されたデータを実際に入力します。

于 2009-03-31T16:32:00.690 に答える