У меня есть запущенный сервер, который можно запросить, чтобы получить определенные c данные. Абонентский API реализован в Python, Java и C ++. Большинство из нас очень привыкли работать с Python, поэтому я создал python сценарии запуска для запуска подписчика Java / C ++.
Я сделал следующее: создал дескриптор API, который принимает язык аргументов. - Если указано python, я напрямую использую API подписчика Python и делаю вызов на сервер, возвращаю данные в формате json. - Если предоставляется Java / C ++, я вызываю соответствующий сценарий запуска, выгружаю данные в какой-нибудь файл. По завершении выполнения я читаю файл и возвращаю данные в формате Python.
Хотя в идеале все API подписчика должны возвращать одни и те же данные, для целей тестирования мне нужно открыть все версии.
Но выбор языка не кажется чистым способом сделать это. Каким будет изящный способ сделать это?
Один из вариантов, о котором я подумал, это то, что API-интерфейс Handle по умолчанию будет работать только с python, а для java / c ++ я создам два разных маркера JavaHandle, CPPHandle и используйте его.