Рубрики
Без рубрики

С потребляют внешние API в ваше приложение Пружинный Ботинок

В какой-то момент произошло наше приложение, чтобы иметь необходимость использовать и интегрировать с у.. С тегами java, api, spring boot, feign.

В какой-то момент произошло наше приложение, чтобы иметь необходимость использовать и интегрировать с внешней службы. Думая об этом появился проект под названием Feign.

В Feign-это проект, который находится в Spring Cloud, он используется для интеграции и использования служб rest.

Он делает потребление clients веб-службы проще. Foi inspirado не требует дооснащения e JAX-RS-2.0. Простоту использования Feign, что нам не нужно писать какой-либо код для вызова службы, определение интерфейса.

@FeignClient нотацию, что делает потребления услуг очень простой.

Eu vou mostrar um exemplo упрощает использование api через cep.com.br/ws/{cep}/json/

Api возвращает json в следующей структуре;

  • Мы собираемся добавить две зависимости в нашем пом.xml

spring-cloud-starter-openfeint

    
            org.springframework.cloud
            spring-cloud-starter-openfeign
    

spring-cloud-зависимости

  
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Hoxton.SR8
                pom
                import
            
        
    
  • Параметры Проекта

Нам нужно аннотировать @EnableFeignClients в основной класс проекта, чтобы включить Feign, в случае, если здесь, в классе Application. С этой аннотации можно поиск через интерфейс клиента, которые должны быть использованы.

@SpringBootApplication
@EnableFeignClients
public class ConsumoApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConsumoApplication.class, args);
    }

}
  • Создадим класс, который будет возвращать наш объект
   public class Endereco {

    private String cep;
    private String logradouro;
    private String complemento;
    private String bairro;
    private String localidade;
    private String uf;
    private String ibge;
    private String gia;
    private String ddd;
    private String siafi;

}
  • Мы создадим интерфейс, где @FeignClient будет сделать вызов службы.

Параметры url и name являются обязательными; где: url-адрес базы на службу, которая будет потребляться и name: имя клиента, мы Должны сказать, какой Endepoint в buscarEnderecoPorCep будет использовать;

@FeignClient(url= "https://viacep.com.br/ws/" , name = "viacep")
public interface CepService {

    @GetMapping("{cep}/json")
    Endereco buscaEnderecoPorCep(@PathVariable("cep") String cep);
}
  • Теперь просто создать маршрут, который мы будем использовать, чтобы потреблять службы;
@RestController
public class CepRestService {

    @Autowired
    private CepService cepService;

    @GetMapping("/{cep}")
    public ResponseEntity getCep(@PathVariable String cep) {

        Endereco endereco = cepService.buscaEnderecoPorCep(cep);

        return endereco != null ? ResponseEntity.ok().body(endereco) : ResponseEntity.notFound().build(); 
    }

}

Готово, теперь ваше приложение использует службу, внешний с несколько строк, и с тем же результатом, что мы с RestTemplate.

Ссылку применения модели в git Пример

Оригинал: “https://dev.to/daienelima/como-consumir-uma-api-na-sua-aplicacao-spring-boot-3p3a”