Я хочу динамически генерировать OpenApiSchema из любого заданного объекта Json в .Net 6. У меня нет типов clr, доступных в коде для автоматического создания Open API Json, используемого Swashbuckle, и мне нужно делать это программно, а не с использованием инструмента генератора одного объекта. Кроме того, эти объекты Json будут часто меняться другими пользователями. Моя цель — динамически создать спецификацию OpenAPI на основе заданной полезной нагрузки json. Учитывая случайный объект Json, подобный следующему, и используя C# для создания моей собственной OpenApiSchema, аналогичной этому подходу https://taerimhan.com/exploring-openapi ... ic-schema/. Основное отличие, которое мне нужно сделать, — это подключить результаты непосредственно к OpenAPI, чтобы swashbuckle отображал для меня схемы и свойства динамически. См. образец Json...
Я просмотрел следующие близкие ресурсы, но ищу решение C#, чтобы можно было использовать Swashbuckle для множества различных объектов разных форм Json.
Я хочу динамически генерировать OpenApiSchema из любого заданного объекта Json в .Net 6. У меня нет типов clr, доступных в коде для автоматического создания Open API Json, используемого Swashbuckle, и мне нужно делать это программно, а не с использованием инструмента генератора одного объекта. Кроме того, эти объекты Json будут часто меняться другими пользователями. Моя цель — динамически создать спецификацию OpenAPI на основе заданной полезной нагрузки json. Учитывая случайный объект Json, подобный следующему, и используя C# для создания моей собственной OpenApiSchema, аналогичной этому подходу https://taerimhan.com/exploring-openapi-extensions-dynamic-schema/. Основное отличие, которое мне нужно сделать, — это подключить результаты непосредственно к OpenAPI, чтобы swashbuckle отображал для меня схемы и свойства динамически. См. образец Json... [code]{ "id": "123", "unassumablepropertyname1": { "id": "456", "otherprop": null }, "dynamicproperty": "456", "somethinguseful": "ABC123" } [/code] Идеальным результатом было бы динамическое создание такой спецификации OpenAPI V3... [code]{ "openapi": "3.0.1", "info": { "title": "Sample API Capabilities", "version": "v1" }, "paths": { "/api/DataRecord/UpsertDynamicObj12": { "post": { "tags": [ "Dynamic Objects" ], "operationId": "UpsertDynamicExample", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DynamicObj12" } }, "text/json": { "schema": { "$ref": "#/components/schemas/DynamicObj12" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/DynamicObj12" } } } }, "responses": { "200": { "description": "Success" } } } } }, "components": { "schemas": { "DynamicObj12": { "required": [ "id" ], "type": "object", "properties": { "id": { "type": "string" }, "dynamicproperty": { "type": "string" }, "somethinguseful": { "type": "string" }, "unassumablepropertyname1": { "type": "array", "items": { "$ref": "#/components/schemas/UnassumablePropertyName1" }, "nullable": true } }, "additionalProperties": false }, "UnassumablePropertyName1": { "required": [ "id" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "otherprop": { "type": "string", "format": "uuid" } }, "additionalProperties": false } } } } [/code] Я просмотрел следующие близкие ресурсы, но ищу решение C#, чтобы можно было использовать Swashbuckle для множества различных объектов разных форм Json. [list] [*]Инструмент для создания схемы JSON из данных JSON [*]https://taerimhan.com/exploring-openapi-extensions-dynamic- схема/ [*]https://github.com/microsoft/OpenAPI.NET/issues/496 [/list] Любой идеи?