Mastering Spring Boot 2.0 by Dinesh Rajput

Mastering Spring Boot 2.0 by Dinesh Rajput

Author:Dinesh Rajput
Language: eng
Format: epub
Tags: COM051280 - COMPUTERS / Programming Languages / Java, COM051000 - COMPUTERS / Programming / General, COM005000 - COMPUTERS / Enterprise Applications / General
Publisher: Packt Publishing
Published: 2018-05-31T05:55:10+00:00


Let's look at these topics in detail.

Declarative REST client – Feign basics

According to the Feign documentation:

"Feign is a Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. Feign's first goal was reducing the complexity of binding Denominator uniformly to HTTP APIs regardless of ReSTfulness."

Netflix has developed a declarative web service client called Feign. It is very easy to create compared to other web service clients, such as Spring's RestTemplate, DiscoveryClient, and EurekaClient. To create a Feign REST client, create an interface and annotate this interface with an annotation provided by the Netflix Feign library. You don't need to implement this interface in your cloud application to use the microservice. The Feign client provides support to use Feign annotations and JAX-RS annotations. And you can also use the Spring MVC annotations and the same HttpMessageConverters as we used in the Spring web module, the Feign client supports all annotations of the Spring MVC module for a REST application. It also provides support for pluggable encoders and decoders. Feign, by default, provides the functionality of Ribbon and Eureka to provide a load-balanced HTTP client.

In the previous chapters, we created microservices and its consumers. In the examples, account-consumer (that is, a web application or another microservice CUSTOMER-SERVICE) consumed the REST services exposed by the account-service producer using RestTemplate. Let's look at the following diagram, which illustrates the consumption of microservices without using Feign:



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.