0

REST インターフェイスを次のようにフォーマットします。

myurl.com/resources/{resourceId}

必要に応じて、返される形式を指定するために次のバリエーションを提供できるようにしたいと考えています。

myurl.com/resources.json/{resourceId}

ジャージーを使用して REST サービスを提供しています。これらのパラメータを処理する最良の方法は何ですか?

別の @PATH 表記で別のクラスを作成する必要がありますか、または単一のクラスを作成してそのパラメーターを解析できますか? @PathParam や @QueryParam のように、これを処理できる組み込みの注釈はありますか?

4

1 に答える 1

0

これにはすでにメカニズムがあります(@digitaljoelがすでに述べたように)-HTTP Acceptヘッダー。

ジャージーはあなたのユースケースを直接サポートしていませんが、似たようなものがあります - メディアタイプマッピング機能。 http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/api/を参照core/ResourceConfig.html#PROPERTY_MEDIA_TYPE_MAPPINGS および http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/api/core/ResourceConfig.html#getMediaTypeMappings%28%29

残念ながら、最後にこの「パラメーター」を持つ URL のみを処理しますが、UriConnegFilter ソース ( http://java.net/projects/jersey/sources/svn/content/trunk/jersey ) を取得することはそれほど難しくありません。 /jersey-server/src/main/java/com/sun/jersey/api/container/filter/UriConnegFilter.java?rev=5698 ) を必要に応じて変更します。

于 2012-05-09T11:46:39.073 に答える