у меня есть пара. json файл в gitlab. Я хочу создать Swagger UI для этих json файлов. Ниже приведен мой пример json file
"source_page_view_reference": {
"page_type": "native",
"page_id": "group/homepage",
"page_uuid": "98dsdbyb",
"view_uuid": "64vsdgj738"
},
"campaign_id": "73gdhgshd",
"treatment_id": "fdsgf6378",
"experience_cloud_id": "6avdhwy",
"alert_title": "No internet",
"alert_message": "No internet connection",
"trigger_type": "500 - Internal server error",
"trigger_message": "Service down",
"trigger_source": "Authenication service",
"session_info": {
"launch_uuid": "asd6davhav",
"activation_uuid": "6437dghad"
},
"analytics_sdk": {
"component_id": "com.cxv....analytics",
"component_version": "0.0.1"
},
"timestamp": "2017-11-03T00:00:05.000Z"
}
Обратите внимание, что все мои json файлы не являются настоящими API, но я хочу отобразить UG Swagger UI для тех json файл. Для этого я выполнил ручное кодирование в Swagger Hub, чтобы сгенерировать пользовательский интерфейс Swagger для одного из файлов json,
. Ниже приведен мой код, написанный вручную для создания пользовательского интерфейса Swagger. Ссылка на изображение - [1]: https://i.stack.imgur.com/HovkW.png [Swagger UI] [1]
Теперь я пытаюсь автоматизировать скрипт, который принимает файл json и генерирует Swagger UI для этого . Каков наилучший возможный подход, который я могу использовать, или есть ли какие-либо примеры сценариев для их создания.
info:
version: '1.0.0'
title: 'Alert View'
description: 'Marks the time that an alert (modal) is displayed to the User in the UI.'
paths:
/Alert view :
post:
description: AlertView Parameter.
responses:
default:
description: successful operation
parameters:
- in : header
name: Alert Title
description: The Title of the alert
schema:
type: string
required: true
example: No internet
- in : query
name: Alert Message
schema:
type: string
description: The message of the alert
required: false
example: No internet connection
- in: query
name : Trigger Type
schema:
type: string
description: Trigger Name for the respective trigger
required: false
example: 500 - Internal server error
- in: query
name: Trigger Message
schema:
type: string
description: Payload message for a trigger
required: false
example: Service down
- in: query
name: Trigger Source
schema:
type: string
description: Source for a trigger, potentially an API response, or element click, etc
required: false
example: Authenication service
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventParameter'
description: Event parameter schema
components:
schemas:
pagetype:
type: object
example: native
properties:
type:
type: string
default: true
pageid:
type: object
example: group/homepage
properties:
type:
type: string
default: true
page_uuid:
type: object
example: dsvd37473874
properties:
type:
type: string
default: true
view_uuid:
type: object
example: dsdad778
properties:
type:
type: string
default: true
component_id:
type: object
example: com.dgs....analytics
properties:
type:
type: string
default: true
component_version:
type: object
example: 0.0.1
properties:
type:
type: string
default: true
launch_uuid:
type: string
example: 6d5yadfah
activation_uuid:
type: string
example: xzyxvhxvtt75
session_info:
type: object
properties:
launch_uuid:
$ref: '#/components/schemas/launch_uuid'
activation_uuid:
$ref: '#/components/schemas/activation_uuid'
SourcePageViewRef:
type: object
properties:
pagetype:
$ref: '#/components/schemas/pagetype'
pageid:
$ref: '#/components/schemas/pageid'
page_uuid:
$ref: '#/components/schemas/page_uuid'
view_uuid:
$ref: '#/components/schemas/view_uuid'
analytics_sdk:
type: object
properties:
component_id:
$ref: '#/components/schemas/component_id'
component_version:
$ref: '#/components/schemas/component_version'
EventParameter:
type: object
properties:
sourcePageViewReference:
$ref: "#/components/schemas/SourcePageViewRef"
campaign_id :
type: string
example: asfghgafs677
description: 'Event Parameter'
treatment_id:
type: string
example: vxbVSxyy
experience_cloud_id:
type: string
example: 'gahgshags'
alert_title:
type: string
example: No internet
alert_message:
type: string
example: No internet connection
trigger_type:
type: string
example: 500 - Internal server error
trigger_message:
type: object
example: Service down
trigger_source:
type: string
example: Authenication service
session_info:
$ref: '#/components/schemas/session_info'
analytics_sdk:
$ref: '#/components/schemas/analytics_sdk'
additionalProperties:
type: boolean
default: false
# Added by API Auto Mocking Plugin
servers:
- description: SwaggerHub API Auto Mocking
url: https://api.swaggerhub.com/datacollector/alertView/1.0.0```