У меня есть FeignClient
@FeignClient(name = "employeeClient", url = "${service.employee.url}",
configuration = EmployeeFeignConfiguration.class)
public interface EmployeeClient {
@PostMapping(path = "${path}",
consumes = APPLICATION_JSON_VALUE,
produces = APPLICATION_JSON_VALUE)
EmployeeResponse employee(@RequestHeader(name = "Authorization") String token,
@RequestBody EmployeeRequest request);
}
Помимо этого у меня есть TokenService.java
, который каждый раз выбирает токен из HTTP-токена API.
Итак, из моего EmployeeService.java
для вызова API сотрудника янужны две зависимости (EmployeeClient
и TokenService
)
private EmployeeTokenService employeeTokenService;
private EmployeeClient employeeClient;
public EmployeeService(EmployeeTokenService employeeTokenService,
EmployeeClient employeeClient) {
this.employeeTokenService = employeeTokenService;
this.employeeClient = employeeClient;
//Here Some other dependencies are present
}
EmployeeClient
имеет некоторые другие API, которые также используются в других классах обслуживания, поэтому из каждого класса обслуживания мне нужно добавить две зависимости (клиент и токен). Поэтому, чтобы уменьшить зависимость, я пытаюсь добавить метод по умолчанию в EmployeeClient.java
для токена, но не уверен, как я могу вызвать API токена из метода по умолчанию или как я могу объединить сервис токена и клиентский вызов в одном, так что у каждого сервиса API будет только одинзависимость.