Скажем, у меня есть два API (A и B), которые "разделяют" общее определение объекта.
Например, оба используют одно и то же определение Customer
. Сгенерированный класс будет выглядеть примерно так: com.apia.model.Customer
в API A и com.apib.model.Customer
в API B. В моем случае использования API A должен вызывать API B, эффективно передавая объект Customer
, Но поскольку они предназначены для разделения классов, мне нужно преобразовать из API-A-Customer в API-B-Customer .
Как можно избежать это?
Примечание : само преобразование не сложно; поскольку это одни и те же определения, может быть автоматизирован очень легко. Возможно, мне хотелось бы иметь оба определения в одном и том же пространстве имен или спроектировать API так, чтобы Codegen распознал, что это один и тот же объект. Бонусные баллы за не взлом Swagger-UI. Я уже пытался вырезать объект в отдельном файле YAML и импортировать его в оба API, но это, похоже, не влияет на Codegen. Также было замечено много открытых и закрытых проблем на Github , которые неопределенно относятся к моей проблеме, но не имеют конкретных решений.
Рабочий процесс:
- Некоторые API A конечная точка вызывается с некоторым параметром, являющимся экземпляром
com.apia.model.Customer
- Приложение преобразует его в
com.apib.model.Customer
- , это шаг, который я хочу избежать - Приложение вызывает соответствующую конечную точку API B, используя объект
com.apib.model.Customer
в качестве параметра - Ответы передаются обратно исходному клиенту (здесь речь не идет)