2012-04-03 12 views
0

Jerseyフレームワークを使用して、REST APIを使用して(オブジェクトとXMLのマーシャリングとアンマーシャリング)を通信します。Jersey - REST APIにエンティティオブジェクトを送信する前のデータ検証

(例えばオブジェクトでプライベート文字列のコードをなど2つの数の形式にする必要があります)私はいくつかのオブジェクト属性を検証する方法をお願いしたいと思います

. 
. 
ClientResponse response = webResource.type("application/xml").post(ClientResponse.class, object); 
. 

:私は、データを送信する(オブジェクトがたくさんの属性があります)この方法

答えて

0

aオブジェクトを受け取るサービスを意味しますか?どのように試しましたか?それはオブジェクトとして、またはあなたがそれが来ることを望むもので来ます。我々はしばしばMap<String,Object>を受け取り、その地図上で検証を行います(たとえば、投稿からどのサブタイプを作成するかを決定する必要がある場合)。 Jerseyがあなたの要求をPOJOにアンマーシャリングするようにした場合は、検証が必要な検証を行い、検証エラー情報を持つResponseオブジェクトをクライアントに渡すことができます。

つまり、検証はあなた次第です。 javax.validationなどIMHOのようないくつかの検証フレームワークがありますが、通常、条件、正規表現などを使用して自分自身を検証する必要がある各プロパティをテストする方が簡単です。

+0

私はクライアント側を意味します。私は、オブジェクトを受け取るサービス(とそのソースコード)へのアクセス権を持っていません。サーバー側からいくつかの.xsdが与えられ、ここからモデルクラスをいくつか生成しました。今ではこのクラスを埋めています(たとえば、私はAdmissionというクラスを持っていますが、このクラスは属性「プライベートStringコード」を持っています)...そして私のアプリケーションではfe 1234a5というコードをいくつか設定しました。間違って、正しい12345です)私はいくつかのバリデータまたはサーバーAPIに無効なオブジェクトを送信しないようなものをしたいと思います。 –

+0

データはxsdに基づいて有効ですか? –

0

私の意見では、検証にはstruts、wicked、jfcなどのWebフレームワークが付属しています。ここで、ユーザは、彼がサービスに掲示したいオブジェクトを作成するためのフォームに自分のデータを入力する。 webframeworksには、このデータを検証するためのコンポーネントがすでに用意されています。肯定的な検証があった場合は、あなたのサービスへのポストコールを行います。

関連する問題