Je comprends que Feign est déclaratif et, par conséquent, il résume beaucoup de choses pour le développeur. Mais, quand faut-il choisir l'un plutôt que l'autre? Bien que la feinte soit déclarative, elle a de sérieux problèmes avec oAuth. Quelles sont certaines des considérations lors de l'utilisation de RestTemplate sur Feign
Feign vous permet d'abstraire la mécanique de l'appel d'un service REST. Une fois que vous avez configuré et annoté l'interface Feign, vous pouvez appeler un service REST en faisant un simple Java appel de fonction. L'implémentation réelle d'un appel REST est gérée au moment de l'exécution par Feign. Cela signifie que l'implémentation peut être configurée sans changer votre logique métier) code.
En changeant simplement la configuration de Feign dans une Java ou en utilisant des propriétés, vous pouvez ajouter le codage/décodage, la journalisation et changer la bibliothèque d'implémentation d'appel REST. Tout cela est uniquement via la configuration, tandis que la logique métier qui appelle le service reste inchangée. Étant donné que Feign utilise des interfaces standard Java, il est également facile de les simuler lors des tests unitaires.
L'un des avantages de l'utilisation de Feign
par rapport à RestTemplate
est que nous n'avons pas besoin d'écrire d'implémentation pour appeler les autres services. Il y a donc pas besoin d'écrire de test unitaire car il n'y a pas de code à tester en premier lieu. Cependant, il est conseillé d'écrire des tests d'intégration.