Мне нужен способ создать динамический / универсальный c отдыхающий клиент. Моему весеннему загрузочному приложению необходимо подключиться ко многим сторонним клиентам, каждый из которых имеет различное тело запроса, тело ответа, некоторые требуют специальных заголовков, в то время как некоторым требуется специальная авторизация / аутентификация (например, Basi c Auth, JWT, HMA C et c).
Пока мне удалось найти следующего клиента
public class GenericRestClient<T, V> {
private RestTemplate restTemplate = new RestTemplate();
public V execute(RequestDetails requestDetails, T data, ResponseErrorHandler errorHandler,
Class<V> genericClass) throws ResourceAccessException, Exception {
restTemplate.setErrorHandler(errorHandler);
HttpHeaders headers = new HttpHeaders();
HttpEntity<T> entity = new HttpEntity<T>(data, headers);
ResponseEntity<V> response = restTemplate.exchange(requestDetails.getUrl(), requestDetails.getRequestType(),
entity, genericClass);
return response.getBody();
}
}
Но мой вопрос. Есть ли способ теперь сгенерировать все необходимые заголовки, аутентификацию и авторизацию, когда все они имеют разные требования? Как я могу это сделать?
Есть ли способ сохранить java код, такой как скрипт (например, JTX), в базе данных и использовать их, или есть какой-то лучший способ создать мою потребность?
Я хочу, чтобы, даже если приходит новый клиент, больше никакого кодирования не требовалось.