問題タブ [netflix-feign]
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 - text/csv 応答での偽装クライアントのエラー
Spring の残りのコントローラー用に作成された偽のクライアントに問題があります。このメソッドでは、HttpServletResponse に csv 文字列を記述しますが、偽の実装をテストしたい場合、コンソール エラーが表示されます。
偽の実装は次のとおりです。
誰でもこの問題で私を助けてくれますか?
spring-cloud-netflix - Spring Cloud Feign: Feign が POST リクエストの発行時に HTTP ボディにパラメーターを入れない
これが私の Feign インターフェイス定義です。
これはPOST
リクエストですが、feignはリクエスト本文の代わりに URL にpage
andを入れます:size
理由がわかりません
java - Feign と Jackson でオブジェクトを x-www-form-urlencoded にシリアライズする
Mailgun API のラッパーを作成するために、jackson で netflix-feign を使用しています。問題は、API が POST 要求を使用する必要があることです。"Content-Type: application/x-www-form-urlencoded"
これはサンプルコードです:
Message
オブジェクトには必要なプロパティが含まれており、JSON アノテーションがあります
。@JsonProperty(value = "from")
private String from;
問題は、送信されるオブジェクトが JSON オブジェクトであることです。
{
"from" : "test@test.mailgun.org",
"to" : "atestaccount@gmail.com",
"subject" : "A test email",
"text" : "Hello this is the text of a test email.",
"html" : "<html><body><h1>Hello this is the html of a test email.</h1></body></html>"
}
ただし、これは有効なx-www-form-urlencoded
コンテンツ タイプではありません。
オブジェクトを正しいコンテンツ タイプに自動的にシリアル化する方法はありますか?
@Body
アノテーションを使用できると思いますが、それを使用するには、さまざまなプロパティをsendMessage
メソッドに渡す必要があります。
spring-cloud - Spring Cloud Feign クライアントを微調整するには?
Spring Cloud docは次のように述べています。
Hystrix がクラスパス上にある場合、デフォルトで Feign はすべてのメソッドをサーキット ブレーカーでラップします。
- それは良いことですが、特定の例外を無視するように Hystrix オプションを構成するにはどうすればよいですか?
ErrorDecoder
HTTP ステータス コードを例外にマップする実装があります。私が@HystrixCommand
メソッドを身につけたら、Feign はそれを尊重しますか? - 私たちの要件は、依存関係に対して行われたすべての HTTP 呼び出しに関するさまざまな詳細をログに記録することです。現在、これを行う装飾
RestTemplate
があります。コードで見たものと、Dave Syer の回答hereに基づくと、Feign はRestTemplate
. では、ロギング要件を満たすにはどうすればよいでしょうか。インターフェイスfeign.Client
は有望に見えますが、それを使用するかどうかは完全にはわかりません.
spring-cloud - すべての名前を知らなくても、任意の数のヘッダーを Feign クライアントに渡す方法は?
特定のプレフィックスで始まるすべてのヘッダーを偽のクライアントに渡す必要があるユースケースがあります。これらのヘッダーの数や正確な名前はわかりません。Feign クライアントはすべてのヘッダーが を使用して指定されることを期待しているため、これを簡単に行う方法はないようです@RequestHeader("name")
。のようなものはサポートしていないよう@RequestHeader HttpHeaders
です。これは非常に便利です。助言がありますか?
spring-boot - Spring BootアプリケーションでWebアプリが起動した直後に「dispatcherServlet」を自動的に初期化する方法は?
私は、スプリング ブート アプリケーションで hystrix を使用して偽のクライアントに取り組んでいます。eureka サーバーを開始し、2 つのプロバイダーを登録しました。偽のクライアント アプリケーションでは、hystrix サポートを追加しました。初めてサービスをリクエストしたときは hystrix の結果が得られましたが、その後はすべてのリクエストがプロバイダーから期待される結果を得ることができました。ログからdispatcherServlet
、Web アプリの開始後ではなく、最初の要求が行われた後に が遅延して初期化されたことがわかります。これにより、hystrix のタイムアウト期間が延長されます。この場合、 の遅延初期化が原因で、最初のリクエストで常に false の結果が得られますdispatcherServlet
。
- 最初のリクエストを正しく取得するにはどうすればよいですか?
dispatcherServet
Web起動直後に初期化してもよろしいでしょうか?もしそうなら、どうすればいいですか?
ログ:
ありがとう。
spring-boot - Spring FeignClient が DMZ で動作しない
マイクロサービス アーキテクチャ (jhipster) にスプリング ブート アプリケーションをデプロイした後に問題が発生しました。アーキテクチャのプレゼンテーション:
- 保護されたゾーン (ユーザーは Web ブラウザーから使用できません): AdminApp、ServerApp
- DMZ (ユーザーが利用可能): UserApp
AdminApp と UserApp には websocket 実装 (spring-boot-starter-websocket) があります。ServerApp は、イベントを AdminApp/UserApp に送信します。FeignClient ServerApp を使用して、WebSocket イベントをフロントエンドに送信する AdminApp/UserApp から SocketController を呼び出します。
ローカルホストでは正常に動作します。アプリケーションが DMZ なしで 2 つの異なるサーバーにデプロイされている場合も正常に動作します。問題は DMZ で発生します。ServerApp が AdminApp (同じサーバー) にイベントを送信すると動作しますが、ServerApp が UserApp (DMZ を使用する別のサーバー) にイベントを送信すると、エラーが発生します: POST http://UserApp/api/websocket の実行を拒否した接続