TL; DR:Springで書かれた他のサービスで再利用する各REST Spring ControllerのHTTPクライアントを自動生成します。Spring Controllerのクライアントを自動生成
春に書かれた複数のマイクロサービスを扱う場合、私は自分自身が各コントローラのクライアントを書き換えていることに気付きました。
@RestController
public class SubscriptionController {
@Autowired
private SubscriptionService subscriptionService;
@RequestMapping(value = "/subscription", method = RequestMethod.GET)
public SubscriptionDTO getMySubscription() {
return subscriptionService.getCurrentUserSubscription();
}
}
私は、サービスYにDTOをインポートする他のサービスで定義されたマッピングにHTTPリクエストを書き、それのためにテストを書きます:私は、サービスXのコントローラを書くと言うことができます。
@Service
public class SubscriptionApiService {
@Autowired
private HttpClient httpClinet;
public SubscriptionDTO getMySubscription() {
return httpClient.get("/subscription", SubscriptionDTO.class);
}
}
これは非常に反復的なプロセスであり、誰かがこのプロセスを自動化するライブラリをすでに作成していることは間違いありません。しかし、私はそのようなものを見つけることができませんでした。何か案が?
Swaggerにはhttpクライアントジェネレータがあります。あなたはそれを確認する必要があります – nowszy94