/// <summary> /// OpenApi描述 /// </summary> /// <param name="document">Swagger文档</param> public OpenApiDoc(OpenApiDocument document) { this.Document = document; this.Settings = new HttpApiSettings(); this.resolver = CSharpGeneratorBase .CreateResolverWithExceptionSchema(this.Settings.CSharpGeneratorSettings, document); }
/// <summary>Initializes a new instance of the <see cref="CSharpRefitOperationModel" /> class.</summary> /// <param name="operation">The operation.</param> /// <param name="settings">The settings.</param> /// <param name="generator">The generator.</param> /// <param name="resolver">The resolver.</param> public CSharpRefitOperationModel(OpenApiOperation operation, CSharpRefitGeneratorSettings settings, CSharpRefitGenerator generator, CSharpTypeResolver resolver) : base(operation, settings, generator, resolver) { _operation = operation; _generator = generator; _resolver = resolver; _settings = settings; }
/// <summary>Initializes a new instance of the <see cref="CSharpOperationModel" /> class.</summary> /// <param name="operation">The operation.</param> /// <param name="settings">The settings.</param> /// <param name="generator">The generator.</param> /// <param name="resolver">The resolver.</param> public CSharpOperationModel( OpenApiOperation operation, CSharpGeneratorBaseSettings settings, CSharpGeneratorBase generator, CSharpTypeResolver resolver) : base(resolver.ExceptionSchema, operation, resolver, generator, settings) { _settings = settings; _operation = operation; _generator = generator; _resolver = resolver; var parameters = GetActualParameters(); if (settings.GenerateOptionalParameters) { // TODO: Move to CSharpControllerOperationModel if (generator is CSharpControllerGenerator) { parameters = parameters .OrderBy(p => p.Position ?? 0) .OrderBy(p => !p.IsRequired) .ThenBy(p => p.Default == null).ToList(); } else { parameters = parameters .OrderBy(p => p.Position ?? 0) .OrderBy(p => !p.IsRequired) .ToList(); } } Parameters = parameters .Select(parameter => new CSharpParameterModel( parameter.Name, GetParameterVariableName(parameter, _operation.Parameters), GetParameterVariableIdentifier(parameter, _operation.Parameters), ResolveParameterType(parameter), parameter, parameters, _settings.CodeGeneratorSettings, _generator, _resolver)) .ToList(); }
/// <summary>Initializes a new instance of the <see cref="CSharpFileTemplateModel" /> class.</summary> /// <param name="clientTypes">The client types.</param> /// <param name="dtoTypes">The DTO types.</param> /// <param name="outputType">Type of the output.</param> /// <param name="document">The Swagger document.</param> /// <param name="settings">The settings.</param> /// <param name="generator">The client generator base.</param> /// <param name="resolver">The resolver.</param> public CSharpFileTemplateModel( IEnumerable <CodeArtifact> clientTypes, IEnumerable <CodeArtifact> dtoTypes, ClientGeneratorOutputType outputType, OpenApiDocument document, CSharpGeneratorBaseSettings settings, CSharpGeneratorBase generator, CSharpTypeResolver resolver) { _outputType = outputType; _document = document; _generator = generator; _settings = settings; _resolver = resolver; _clientCode = clientTypes.Concatenate(); Classes = dtoTypes.Concatenate(); }
/// <summary> /// WebApiClient的请求方法数据模型 /// </summary> /// <param name="operation">Swagger操作</param> /// <param name="settings">设置项</param> /// <param name="generator">代码生成器</param> /// <param name="resolver">语法解析器</param> public HttpApiMethod(OpenApiOperation operation, CSharpGeneratorBaseSettings settings, CSharpGeneratorBase generator, CSharpTypeResolver resolver) : base(operation, settings, generator, resolver) { }
/// <summary> /// WebApiClient的请求方法数据模型 /// </summary> /// <param name="operation">Swagger操作</param> /// <param name="settings">设置项</param> /// <param name="generator">代码生成器</param> /// <param name="resolver">语法解析器</param> /// <param name="settingsTaskReturnType"></param> public HttpApiMethod(OpenApiOperation operation, CSharpGeneratorBaseSettings settings, CSharpGeneratorBase generator, CSharpTypeResolver resolver, string settingsTaskReturnType) : base(operation, settings, generator, resolver) { _settingsTaskReturnType = settingsTaskReturnType; }