2

私はジャージー/REST の初心者で、単純な Web サービスを作成しようとしています。私が抱えている問題は、リクエスト間のデータの保存です。

サーブレットはセッションにアクセスできますが、Jersey / REST がこれを許可するとは思いませんでした。

私は現在、Android アプリが Tomcat に対して RESTful な要求を行うように、このサービスを作成しています。

リクエストのタイプがどのようなものになるかはまだわかりません。パラメータ付きの URL にするべきですか、それとも単純に XML 文字列にするべきですか? アプリから送信されるデータの種類には、RSS フィードのアドレスとキーワード、およびさまざまなメタデータが含まれます。

サーバーからの XML 応答は、RSS フィード アドレス、キーワード、キーワードの頻度、およびその他のメタデータで構成されます。

現時点でのアイデアは、アプリとサーバーの両方で JAXB を使用して、XML を構成し、Java オブジェクトに分解することです。

JSON または GSON は、ここでは利用できない代替手段です。

しかし、リクエスト間でデータを保存する場合はどうでしょうか? XML が要求および応答アクションを形成する場合、関連するすべての変数を XML に格納するだけで十分ですか。各要求には、サーバーのデータベースを参照する ID 番号があります。

または、REST 経由でサーブレットのセッション コンテキストを使用する方がよいでしょうか?

上記が曖昧に聞こえる場合はお詫び申し上げます。私はジャージー/RESTの初心者です。

4

3 に答える 3

1

REST Web サービスは、ステートレス プロトコルである HTTP プロトコルに基づいています。私の意見では、Web サービスに状態を保存することはお勧めできません。ユーザーデータを保存するには、Cookie を使用する必要があります。

于 2013-06-20T13:57:14.007 に答える
0

JAX-RS サービスは、シングルトンまたは要求ごとのオブジェクトのいずれかです。シングルトンとは、1 つの Java オブジェクトだけが HTTP 要求を処理することを意味します。リクエストごととは、Java オブジェクトが各着信リクエストを処理するために作成され、そのリクエストの最後に破棄されることを意味します。リクエスト間でサービスの状態が保持されないため、リクエストごとはステートレスであることも意味します。

于 2013-06-20T22:10:46.927 に答える