Уменьшить зависимость от класса обслуживания - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть 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 будет только одинзависимость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...