問題タブ [spring-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.

0 投票する
1 に答える
91 参照

cookies - Jersey Client で CookieSpec を変更するには?

このプロジェクトでは、Jersey Client を次のように使用しました。

clientConfig.connectorProvider(新しい ApacheConnectorProvider());
clientConfig.register(MultiPartFeature.class);
client = ClientBuilder.newClient(clientConfig);

実際には httpClient を使用してジョブを実行します。しかし今、この質問で CookieSpec の問題に遭遇しました: Fixing HttpClient warning “Invalid expires attribute” using fluent API . CookieSpec を変更する必要がありますが、構成を変更する場所が見つかりません。

0 投票する
2 に答える
615 参照

spring-boot - HttpServletRequest SpringBoot 2.2、Jersey 2.29 からフォーム データを取得できなくなりました

SpringBoot アプリケーションがあり、Jersey を使用して受信 HTTP リクエストを監査しています。

Jersey ContainerRequestFilterを実装して着信HttpServletRequestを取得し 、HttpServletRequest のgetParameterMap()メソッドを使用してクエリとフォーム データの両方を抽出し、監査に配置しました。

これは、getParameterMap() の javadoc と一致します。

「リクエスト パラメータは、リクエストとともに送信される追加情報です。HTTP サーブレットの場合、パラメータはクエリ文字列または投稿されたフォーム データに含まれています。」

フィルタに関するドキュメントは次のとおりです。

https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/user-guide.html#filters-and-interceptors

SpringBoot を更新すると、getParameterMap()がフォーム データを返さなくなりましたが、引き続きクエリ データを返すことがわかりました。

SpringBoot 2.1 が、コードをサポートする最後のバージョンであることがわかりました。SpringBoot 2.2 では、Jersey のバージョンが 2.29 に更新されましたが、リリース ノートを確認すると、これに関連するものは何も見つかりません。

何が変わったのですか?SpringBoot 2.2 / Jersey 2.29 をサポートするには、何を変更する必要がありますか?

以下は、コードの単純化されたバージョンです。

JerseyRequestFilter - 私たちのフィルター

RequestInterceptorModel - マップにはフォーム データが取り込まれておらず、クエリ データのみが取り込まれています

JerseyConfig - 私たちの設定

完全な例

サンプル プロジェクトで再作成する手順は次のとおりです。

  1. ここで github からソースをダウンロードします。
  1. pom.xml ファイルがあるプロジェクト ディレクトリに移動します。
  2. 次を使用してプロジェクトを実行します。
  1. 新しいターミナルで次の curl コマンドを実行して、Web サービスをテストします。
  1. ログにフォームパラメータが表示されます
  2. 実行中のプロジェクトを停止、ctrl-C
  3. pom の親バージョンを SpringBoot の新しいバージョンに更新する

  1. プロジェクトを再度実行します。
  1. curl 呼び出しを再度呼び出します。
  1. 今回は、ログにフォーム パラメータがありません