問題タブ [jersey]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Jersey 対応サーブレットの Tomcat へのデプロイ: 例外
これが私がやろうとしていることです: すべての REST サービスと XML/JSON シリアライゼーションのニーズに対して、JAXB と Jersey を使用するように切り替えています。
これまでのところ、いくつかの Bean に注釈が付けられ、いくつかのテスト オブジェクトが作成され、これらが XML または JSON に完全にシリアル化され、要求に応じてクライアントに返される、簡単なテストを実行することができました。私は主に、HTTPServer が作成され、main メソッドで開始される、インターネット周辺のいくつかの例に基づいてこれを書きました。
私は現在、この同じ例を WAR ファイルに入れてローカルの Tomcat サーバーにデプロイしようとしています。ここの指示に従ってTomcat 5.5.27で動作させることができなかったので、Tomcat 6.0にアップグレードしました。同じ指示、同じ結果、巨大な InvocationTargetException.
私は正確に何を逃していますか?
これは、catalina.out の巨大な噴出の一部です。
また、ここに私のweb.xmlがあります
これについて何か助けていただければ幸いです。前もって感謝します。
java - jspファイルとリソースクラスの接続
私の例では、ImplicitViewable 構成機能 (「参考文献」を参照WEB-INF/web.xml
) と暗黙的なビュー可能オブジェクトのアプローチを使用しています。この場合、JSP ページは、適切なリソース パッケージ名に対応する正しいパスに配置することでマップされます。うまくいきません。エクストラはどうすればいいですか?
jspファイル${it.name}
に書き込まれ、リソースクラスにもプライベート名変数がある場合、何も起こりません。接続できませんでした。
ここにweb.xmlがあります
パッケージ com/sun/jersey/samples/hotelstore/resources/ 内の hotelstore.java は次のとおりです。
json - 循環依存関係を使用して Jersey から JSON を取得する
Jersey と JAXB を使用するサービスを作成しています。私のクラスには、@XMLRootElement、@XMLElement などのアノテーションが付けられています。2 つのクラス間に循環依存関係があるため、循環依存プロパティに @XMLTransient アノテーションを付けました。したがって、サービスを呼び出すと、デフォルトで xml が取得され、完全に機能します。ただし、JSON を使用しようとすると、次のような行が繰り返されます。
{"name":"dere","entries":[{"points":0,"wins":0,"losses":0,"tie":0,"leaderboard":{"name":"dere ","entries":[{"points":0,"wins":0,"losses":0,"tie":0,"leaderboard":{"name":"dere","entries":[ {"ポイント":0,"勝ち":0,"負け":0,"引き分け":0,"リーダーボード":{"名前":"デレ","エントリ":[{"ポイント":0, "勝ち":0,"負け":0,"引き分け":0,"リーダーボード":{"名前":"デレ"," ... など
したがって、JSON を使用している場合、循環依存関係に問題があるようです。XML で行われるように、循環依存項目が JSON 出力に表示されないようにしたいと思います (@XMLTransient アノテーションのため)。
どうすればこれを達成できるかについて、誰かが洞察を提供できますか?
servlets - JerseyRESTサービスを実行しているGrizzlyサーバーでフィルターを使用する
Grizzlyを使用して、Jerseyを使用して開発したRESTサービスを実行するサーバーを作成しようとしています。私は以下を使用してGrizzlyサーバーを作成しています:
私が見つけたすべての例が示唆しているようです。これは問題ありません。サーバーが起動し、着信要求をリソースクラスに転送できます。
ただし、サービスの実装では、サーブレットフィルタを使用する必要があります。ServletAdapter
Grizzlyは、クラスを介して、フィルターおよびその他の同様のサーブレット関連の構成オプションの定義をサポートしているようです。私の問題は、com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory
Jersey統合を提供するを使用するときにフィルターを定義する方法を理解できないことです。
何か案は?
http - JAX-RSを使用してDELETEメソッドとPUTメソッドを「偽造」する最良の方法は何ですか?
ジャージーを使用して自分のサイトのRESTfulAPIを作成し始めたところです。これは、JavaでRESTfulサービスに対する独自のサポートを提供する必要があることからの素晴らしい変化です。私が理解できないことの1つは、DELETEおよびPUTメソッドを「偽造」する方法です。
ジャージーはアノテーション@PUTと@DELETEをサポートしていますが、多くのロードバランサーはこれらのメソッドを許可しません。これまで、私はカスタムHTTPヘッダー(例:x-method-override:DELETE)とPOSTリクエスト内の「トンネリング」を定義する機能に依存していました。
誰かがJersey/JAX-RSアノテーションを使用してメソッドをカスタムヘッダーにバインドする方法を見つけましたか?あるいは、PUTとDELETEのサポートの欠如を回避するためのより良い方法はありますか?
java - Java REST Web サービスを実装する最も簡単なフレームワーク
クライアントとサーバーの両方の REST フレームワークを Java で実装するのに最適なフレームワークは何ですか? 使いやすいソリューションを見つけるのに少し苦労しています。
更新: Jersey と Restlet はどちらも良い選択肢のようです。おそらく Restlet を使用しますが、両方を試してみます。
java - Mule と Jersey に Grizzly Embedded Server を使用する方法
私は現在、いくつかのコードをテストするために、Grizzly 組み込みサーバーで JerseyTest を使用しています。適切なリソースを指すように、非常に簡単な構成をいくつか行います。
これは正常に機能し、Jersey コンポーネントは利用可能で、期待どおりに機能しています。
現在、これらの Jersey 呼び出しのいくつかに Mule 機能を追加しようとしていますが、Mule は Grizzly によって適切に初期化/構成されていません。この種のセットアップを実行した人はいますか? Mule を適切に初期化するには、JerseyTest/GrizzlyWebServer でどのような追加設定を行う必要がありますか?
java - JAXBと複数のオブジェクトの関係
私たちは過去数か月のプロジェクトにJersey(Java RESTライブラリ)を使用しており、それを気に入っています。しかし、今週はJAXBで問題が発生しました。
私が持っているのは2人の子供がいる要素で、それぞれに子供がいて、子供たちの何人かがお互いを参照しています。
コードをいくつか示しましょう。
つまり、1つのルート、2つの親、3つの子があります。
これをJAXBパスの上下に送信すると、4人の子が返されるようです。
各親には、child2の独自のコピーがあります。
とにかく、JAXBに関係をシリアル化させ、parent1とparent2の両方が同じオブジェクトを指していることを示す方法はありますか?
この問題が見つかったのは、より複雑な要素が送信されていた最近のことです。
JAXBにこれを実行させる方法がない場合(現時点で私が信じていることです)、ジャージーで魔法を使って関係を回復する方法について誰か提案がありますか?
java - JAXB コレクション (リスト) 要素名にキャメルケースではなくパスカルケースを使用する
Jersey を使用して直接マーシャリングおよびアンマーシャリングされた JAXB Bean が多数あります。
例えば
単一のアーティファクト オブジェクトを返す GET メソッドを作成するとします。XML を正しく生成します。
ここで、Artifact 要素の名前の先頭に大文字の「A」を付けることができました。
ただし、成果物オブジェクトのコレクションを返す GET メソッドを作成すると、次のようになります。
ご覧のとおり、コレクションの外側の要素には小文字の「A」があります。私たち自身の内部基準に準拠するために、これを大文字の「A」にしたいと思います - Artifacts.
JAXB 内でこれを定義できる場所がわかりません。実際にこれを制御しているのはジャージー フレームワークですか?
コレクション用に生成された要素名を制御できますか?
どうもありがとう、
ジェームズ
java - RESTでファイルを送信しますか?
RestletやJerseyなどのJavaRESTフレームワークでは、ファイルをWebサービスへの入力として送信できますか?
これには、クライアントがファイルを送信し、サーバーがファイルを受信して処理することが含まれます。