Нет ограничений на перегрузку методов. Однако нынешний дизайн хрупок. Что, если вы хотите учесть еще один параметр в будущем? Всякий раз, когда вы добавите дополнительный параметр, вы в конечном итоге измените все эти методы.
Лучше было бы создать класс, содержащий параметры, и использовать его. Например,
class ResponseContext {
private ServiceResponse response;
private ServiceRequest request;
private Exception excp;
private Header header;
}
Используйте builder pattern
для создания вышеуказанного объекта, чтобы не создавать бесконечные конструкторы с различными комбинациями параметров.
Наконец, используйте только один метод
private ResponseEntity<ServiceResponse> handleResponse(ResponseContext responseContext) {
//logic//
}
Благодаря вышеуказанному дизайну вы можете легко разместить дополнительные параметры, которые могут вам понадобиться в будущем. Теперь вам не нужно перегружать метод.