JAX-RS

Jerseyで@RolesAllowedアノテーションを使った認可の設定

JAX-RSでは、権限のあるユーザのみリソースにアクセスすることを可能にするために、アノテーションによる宣言型の記述とプログラマティックな処理をのためのAPIがあります。アノテーションを使う場合には、特定のロールを持つユーザのみ許可するのであれば、…

JAX-RS (Jersey) でパラメータとして独自のクラスをインジェクトする (2)

このエントリの続きです。パラメータが多い場合には、対応するメソッドの引数が増えてしまうので、引数をDTOにまとめたいという話です。 例えば、id, foo, bar, bazという引数があるメッソッドで、これらの引数を以下のようなDTOにしてクエリパラメータやパ…

Jerseyでアップロードされたファイルを処理する

サーバーサイド Jerseyでマルチパート(multipart/form-data)によりアップロードされたファイルを処理するためには、jersey-multipartというモジュールを使用します。 pom.xmlのdependencyにjersey-multipartを追加します。 <dependencies> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version></version></dependency></dependencies>…

JerseyでJSONシリアライズ対象外のプロパティを指定する (2)

JerseyでJSONシリアライズ対象外のプロパティを指定する (1) こちらの続きです。JAX-RS(Jersey)でJavaオブジェクトをJSON形式に変換する際に、@XmlTransientをつけて対象外のプロパティを指定しましたが、今回はJacksonMixInAnnotationsを使用する方法を試し…

JerseyでJSONシリアライズ対象外のプロパティを指定する (1)

JerseyでJSONを帰す場合には、以下のいずれかの方法を使用します。 対象オブジェクトにJAXBアノテーションを付加してJAXB経由でシリアライズする POJOをそのままシリアライズする 対象オブジェクトのうち特定のプロパティをシリアライズ対象外とするには、JA…

extjsからJerseyのRESTfulサービスを利用するサンプル

extjsからJAX-RS(Jersey)のRESTfulサービスを利用するサンプルをappengineにディプロイしています。extjsの方はほとんどサンプルそのままです。JsonStoreの生成時に"restful: true"という設定を追加するだけでRESTfulなサービスを利用可能で便利です。 JAX-R…

Google AppengineにJerseyをディプロイしたときのspin-up

現代はjerseyを見失った時代だ - you know something? | Use it for myself. こちらのサイトに書かれているとおりで、Google appengineにJerseyを使ったアプリケーションをディプロイすると、インスタンスの起動に結構時間がかかります。時間を短縮すること…

JAX-RS (Jersey) でパラメータとして独自のクラスをインジェクトする (1)

@QueryParamアノテーションで、パラメータをインジェクトすることができますが(パラメータに含まれない場合はnullになる)、パラメータがあまりに多いとメソッドシグネチャが見にくくなり、値をBeanにコピーしたりするのも面倒です。このような場合には、、 @…

JerseyのJSONサポート

引き続きJerseyについて調査しています。JerseyでレスポンスとしてJavaのオブジェクトをJSONに変換する場合には、いくつか方法があります。 POJOを直接変換する JAXB経由で変換する JSONObjectを生成する Jersey 1.5 User Guide - Chapter 5. JSON Support …

JerseyとSeasar2を連携させる

前のエントリの続きです。 私はS2JDBCが使いやすいのでDIコンテナとしてSeasar2を使うことが多いです。Seasa2でRESTfulなサービスを提供する場合には、S2Axis2というプロダクトがあるようですが、将来性を考えJAX-RSを使ってみたいので、JerseyとSeasar2の連…

JAX-RS(Jersey)を使ってみる

JaveEE6に対応しているGlassfish 3.0を使う方が手っ取り早いとは思いますが、、サーブレットコンテナとしてTomcat6.0を使った環境でJAX-RSを使ってみます。 JAX-RSの実装としては、JavaによるRESTfulシステム構築では、Jersey, Apache CXF, JBoss RESTEasyな…

Tomcat+JAX-WSでWebサービス

JAX-WSを使ったWebサービスを構築するのであれば、標準でJAX-WSをサポートしているGlassfishを使うのが手っ取り早いのですが、今回は既存のプロジェクトへの追加なのでTomcat6+Eclipseを使います。Java環境はJava6です。JAX-WSの実装は、今回はMetro(JAX-WS …