2017-05-26 22 views
1

私のニーズに合ったJhipster Microservice Archiを使用しています。Jhipster - ゲートウェイからマイクロサービスにリクエスト/情報を送信する方法

私は、ゲートウェイからマイクロサービスへのリクエストを送信する方法を見つけようとしていますが、少なくともマイクロサービスにユーザー情報(電話番号、電子メールなど)を送信する必要があります。それを行う方法はありますか?

私がやりたかったのは、基本的にユーザーが新しく登録されたときに、ゲートウェイからマイクロサービスへのリクエストを送信して、ユーザーの権限がタクシーの場合はTaxiLocationを作成するか、ユーザーがショップマネージャーの場合...

ありがとうございました。

+0

あなたのおかげで助かりました。私はついにそれを理解しました: –

答えて

2

あなたがしたいことは、マイクロサービス間の通信です。ここでは、ゲートウェイのバックエンドが他のマイクロサービスに要求を送信したいと考えています。 私は正しいですか?それはケースだ場合

することは、あなたはこのチケットを読み取ることができ、議論されている:

あなたはJHipsterチームから、Xetysによって、あまりにもこのチュートリアルを持っている:

あなたはクリストフによって作られた、あまりにも仕事をすることができ、特定のモジュールを持っている0

とは、あまりにもJHipsterチームから:

希望、それはあなたを助けるでしょう。あなたの助けのための

+0

これは良いアプローチですが、代わりに、この追加情報が重要なデータでない限り、JWTトークンのクレームに追加することができます暗号化されたbase64コードのみが署名されています。 –

+0

ありがとう、ちょっと私が探していたthats。私はそれを深く見てみましょう;) –

1

おかげで、私はついにそれを考え出し:

1 - ので、その要求は{

@Inject 
private JHipsterProperties properties; 

@Bean 
public RequestInterceptor requestTokenBearerInterceptor() { 
    return requestTemplate -> { 
     String token = Jwts.builder(). 
      setSubject("xxx") 
      .claim("auth", "xxx") 
      .signWith(SignatureAlgorithm.HS512, properties.getSecurity().getAuthentication().getJwt().getSecret()) 
      .compact(); 
     requestTemplate.header("Authorization", "Bearer " + token); 
    }; 
} 

}

パブリッククラスFeignConfig authentificateなりますRequestInterceptorを装うコンフィグを作成します。

2 MicroserviceClientの作成& MicroserviceClientFallback

@Fei gnClient(name = "xxxxxxxx"、fallback = MicroserviceClientFallback.class、configuration = FeignConfig)。最後に、残りのコントローラ

から呼び出す - クラス) パブリックインターフェイスMicroserviceClient {

@RequestMapping(value = "/api/createuser", 
       method = RequestMethod.POST, 
       produces = MediaType.APPLICATION_JSON_VALUE) 
UserInfo createUser(UserInfo user); 

}

@Component パブリッククラスMicroserviceClientFallbackはMicroserviceClient {

private final Logger log = LoggerFactory.getLogger(MicroserviceClientFallback.class); 

@Override 
public UserInfo createUser(UserInfo user) { 
    log.warn("Triggered fallback for createUser : {}", user); 
    return null; 
} 

}

3を実装します

@Inject 
private MicroserviceClient microserviceClient; 
... 
microserviceClient.createUser(userInfo); 
関連する問題