{ "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "swaggerGenerator": { "type": "object", "properties": { "webApiToSwagger": { "$ref": "#/definitions/webApiToSwagger" } } }, "codeGenerators": { "type": "object", "properties": { "swaggerToTypeScriptClient": { "$ref": "#/definitions/swaggerToTypeScriptClient" }, "swaggerToCSharpClient": { "$ref": "#/definitions/swaggerToCSharpClient" }, "swaggerToCSharpController": { "$ref": "#/definitions/swaggerToCSharpController" } } }, "webApiToSwagger": { "type": "object", "properties": { "assemblyPaths": { "type": "array", "items": { "type": "string" } }, "referencePaths": { "type": "array", "items": { "type": "string" } }, "useNuGetCache": { "type": "boolean" }, "isAspNetCore": { "type": "boolean" }, "controllerNames": { "type": "array", "items": { "type": "string" } }, "defaultUrlTemplate": { "type": "string" }, "defaultPropertyNameHandling": { "type": "string", "enum": ["Default", "CamelCase", "SnakeCase"] }, "defaultEnumHandling": { "type": "string", "enum": ["Integer", "String", "CamelCaseString"] }, "flattenInheritanceHierarchy": { "type": "boolean" }, "generateKnownTypes": { "type": "boolean" }, "generateXmlObjects": { "type": "boolean" }, "addMissingPathParameters": { "type": "boolean" }, "infoTitle": { "type": "string" }, "infoVersion": { "type": "string" }, "output": { "type": "null" } } }, "clientGenerator": { "type": "object", "properties": { "namespace": { "type": "string" }, "dateTimeType": { "type": "string" }, "wrapDtoExceptions": { "type": "boolean" }, "operationGenerationMode": { "type": "string", "enum": [ "MultipleClientsFromOperationId", "MultipleClientsFromPathSegments", "SingleClientFromOperationId", "SingleClientFromPathSegments" ] }, "generateCloneMethod": { "type": "boolean" }, "generateDefaultValues": { "type": "boolean" }, "excludedTypeNames": { "type": "array", "items": { "type": "string" } }, "handleReferences": { "type": "boolean" }, "generateConstructorInterface": { "type": "boolean" }, "importRequiredTypes": { "type": "string" }, "baseUrlTokenName": { "type": "string" }, "output": {}, "className": { "type": "string" }, "generateDtoTypes": { "type": "boolean" }, "generateClientInterfaces": { "type": "boolean" }, "generateClientClasses": { "type": "boolean" }, "generateOptionalParameters": { "type": "boolean" }, "wrapResponses": { "type": "boolean" }, "wrapResponseMethods": { "type": "array", "items": { "type": "string" } }, "generateResponseClasses": { "type": "boolean" }, "responseClass": { "type": "string" } } }, "swaggerToCSharpClient": { "type": "object", "allOf": [ { "$ref": "#/definitions/clientGenerator" } ], "properties": {} }, "swaggerToTypeScriptClient": { "type": "object", "allOf": [ { "$ref": "#/definitions/clientGenerator" } ], "properties": { "template": { "type": "string", "enum": [ "JQueryCallbacks", "JQueryPromises", "AngularJS", "Angular", "Fetch", "Aurelia" ] }, "promiseType": { "type": "string", "enum": ["Promise", "QPromise"] }, "wrapDtoExceptions": { "type": "boolean" }, "clientBaseClass": { "type": "string" }, "configurationClass": { "type": "string" }, "useTransformOptionsMethod": { "type": "boolean" }, "useTransformResultMethod": { "type": "boolean" }, "baseUrlTokenName": { "type": "string" }, "protectedMethods": { "type": "array", "items": { "type": "string" } }, "importRequiredTypes": { "type": "boolean" }, "useGetBaseUrlMethod": { "type": "boolean" }, "queryNullValue": { "type": "string" }, "httpClass": { "type": "string", "enum": ["Http", "HttpClient"] }, "rxJsVersion": { "type": "number" }, "useSingletonProvider": { "type": "boolean" }, "injectionTokenType": { "type": "string", "enum": ["OpaqueToken", "InjectionToken"] }, "markOptionalProperties": { "type": "boolean" }, "typeScriptVersion": { "type": "number" }, "moduleName": { "type": "string" }, "nullValue": { "type": "string" }, "typeStyle": { "type": "string", "enum": ["Interface", "Class", "KnockoutClass"] } } }, "swaggerToCSharpController": {} }, "id": "https://json.schemastore.org/nswag.json", "properties": { "swaggerGenerator": { "$ref": "#/definitions/swaggerGenerator" }, "codeGenerators": { "$ref": "#/definitions/codeGenerators" } } }