0
私は、残りのコントローラでマイクロサービスを呼び出しています。マイクロサービスからの応答が成功すると正常に動作しますが、何らかのエラー応答がある場合は、エラー応答をユーザーに返すことができません。以下はサンプルコードです。エラー・コードの任意のJSONレスポンスがある場合WebClient Sprint 5 reactorウェブを使用したマイクロサービスの呼び出し
@GetMapping("/{id}/users/all")
public Mono<Employee> findAllProfiles(@PathVariable("id") UUID organisationId,
@RequestHeader(name = "Authorization", required = false) String oauthJwt) {
return webClient.get().uri(prepareUrl("{id}/users/all"), organisationId)
.header("Authorization", oauthJwt).accept(MediaType.APPLICATION_JSON)
.exchange().then(response -> response.bodyToMono(Employee.class));
}
さて、Webクライアントは、何も情報が、APIのエンドユーザーに伝播されていないため、先のコントローラにエラー応答に渡しません。
あなたはもう少し手の込んだてもらえますか?リモートサービスから送信されるHTTP応答は何ですか?あなたのアプリケーションはどのように動作していますか、 'findAllProfiles'は適切な 'Employee'で応答していないと思いますか? '(then)(?)'の後に 'log(" org.yourpackage.something ")'演算子を追加すると、どのようなログが表示されますか? –