OpenAPI 3.1
OpenAPI Spec 3.1 поддерживает события через свойство webhooks
верхнего уровня. OpenAPI Spec 3.1 определяет поддержку веб-перехватчиков здесь:
OpenAPI 3.0
Для инструментов, которые обрабатывают OAS 3.0, определение тел событий с использованием только схем по-прежнему полезно, поскольку такие определения могут использоваться инструментами codegen, такими как Генератор OpenAPI для автоматического создания объектов схемы для таких языков, как Java, Swift, Go и т. д.
OpenAPI 2.0/Сваггер 2.0
Для Swagger Spec 2.0 (он же OpenAPI Spec 2.0) вы можете включить определения в спецификацию Swagger, как указано alamar. Swagger Codegen автоматически создаст классы моделей для этих определений, даже если они не связаны ни с какими путями. Я создаю и поддерживаю созданный Swagger Spec/Codegen SDK в Go для RingCentral API, который подобные события. Вы можете увидеть автоматически сгенерированные классы/структуры Swagger Codegen в следующей папке, отфильтровав 20 файлов, оканчивающихся на _event.go
. В настоящее время они создаются с использованием swagger-codegen
2.3.1.
Если у вас есть несколько типов событий, наличие свойства события, которое может различать типы получаемых вами сообщений, может помочь проанализировать его в правильный класс/структуру события. В Go вы можете дважды демаршалировать данные: один раз в общую структуру для просмотра свойства типа события, а затем второй раз для фактического типа события.
Я также поддерживаю коллекцию примеров событий и кода синтаксического анализа в проекте преобразования веб-перехватчиков Chathooks, который вы можете использовать для справки. . Здесь вы можете увидеть примеры событий и (свернутые вручную) языковые определения:
АсинхронныйAPI
В качестве альтернативы можно использовать AsyncAPI — спецификацию для архитектур, управляемых событиями. Он не зависит от протокола, поэтому его можно использовать с Kafka, Websocket, MQTT, AMQP и всем остальным, основанным на обмене сообщениями.
person
Grokify
schedule
09.04.2018