You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
758 B

  1. package de.fd.fh.network;
  2. import feign.Feign;
  3. import feign.gson.GsonDecoder;
  4. import feign.gson.GsonEncoder;
  5. import feign.okhttp.OkHttpClient;
  6. import lombok.Getter;
  7. @Getter
  8. public class FeignClients
  9. {
  10. private static final String BASE_URL = "http://localhost:4567";
  11. private AccessClient accessClient;
  12. private UserClient userClient;
  13. public FeignClients()
  14. {
  15. accessClient = buildClient(AccessClient.class);
  16. userClient = buildClient(UserClient.class);
  17. }
  18. <T> T buildClient(final Class<T> client)
  19. {
  20. return Feign.builder()
  21. .client(new OkHttpClient())
  22. .encoder(new GsonEncoder())
  23. .decoder(new GsonDecoder())
  24. .target(client, BASE_URL);
  25. }
  26. }