0

ユーザーを削除する必要がある場合など、さまざまなパスへのリダイレクトを使用してREST Webサービスを作成しました。ユーザーを@Path注釈のこのアドレスにリダイレクトします。

user/delete

したがって、私が使用したRESPONSEのようなものはありません。
先輩から与えられたコードを調べているときに、次の行に出くわしました。

java.net.URI uri = uriInfo.getAbsolutePathBuilder().path(id).build();
Response.created(uri).build();

これらの行は何をしているのか、私にはわかりません。ウィキリンクやその他の「基本的な休息サービス」リンクなしで、誰かが私にこれを説明できますか.

4

1 に答える 1

0

uriInfo オブジェクトに関する明示的な詳細がなければ、そのタイプは JAX-RS UriInfo クラスであると推測することしかできません。

最初の行は、次のように分割できます。

java.net.URI uri = uriInfo. getAbsolutePathBuilder ().path(id).build();

getAbsolutePathBuilder は文書化されていますhttp://jackson.codehaus.org/javadoc/jax-rs/1.0/javax/ws/rs/core/UriInfo.html#getAbsolutePathBuilder%28%29

java.net.URI uri = uriInfo.getAbsolutePathBuilder()。パス (id) .build();

メソッドは UriBuilder オブジェクトを返します。「path(...)」メソッドが呼び出されて ID が渡されるため、絶対パスがhttp://www.host.comを返した場合(これにはポート番号がある場合とない場合があります)、このメソッドに ID を追加すると、次に、実質的に Builder が 2 つのパーツを保持します。ベース URI とパス。2 つの値はまだ結合されていません

次に、build メソッドが 2 つの値を連結して、完全な URI を生成します。例http://www.google.com/id ( http://www.google.comは絶対パス)

二行目

Response.created(uri).build();

基本的には、「作成された (201) 応答コードで応答し、ビルド uri 値を含む Location ヘッダーを設定する」と言っています。

于 2013-06-28T08:33:44.623 に答える