private static Parameter CreateParameter(SwaggerApiParameterDescription paramDesc, bool inPath, SchemaRegistry schemaRegistry, IEdmModel edmModel) { Contract.Requires(paramDesc != null); Contract.Requires(schemaRegistry != null); Contract.Assume(paramDesc.ParameterDescriptor != null); var @in = inPath ? "path" : MapToSwaggerParameterLocation(paramDesc.SwaggerSource); var parameter = new Parameter { name = paramDesc.Name, description = paramDesc.Documentation, @in = @in, required = inPath || !paramDesc.ParameterDescriptor.IsOptional, @default = paramDesc.ParameterDescriptor.DefaultValue }; var parameterType = paramDesc.ParameterDescriptor.ParameterType; Contract.Assume(parameterType != null); var schema = schemaRegistry.GetOrRegisterParameterType(edmModel, paramDesc.ParameterDescriptor); if (parameter.@in == "body") { parameter.schema = schema; } else { parameter.PopulateFrom(schema); } return(parameter); }
private static Parameter CreateParameter(SwaggerApiParameterDescription paramDesc, bool inPath, SchemaRegistry schemaRegistry) { Contract.Requires(paramDesc != null); var @in = inPath ? "path" : MapToSwaggerParameterLocation(paramDesc.SwaggerSource); var parameter = new Parameter { name = paramDesc.Name, description = paramDesc.Documentation, @in = @in }; if (paramDesc.ParameterDescriptor == null) { parameter.type = "string"; parameter.required = true; return(parameter); } parameter.required = inPath || !paramDesc.ParameterDescriptor.IsOptional; parameter.@default = paramDesc.ParameterDescriptor.DefaultValue; var schema = schemaRegistry.GetOrRegisterODataType(paramDesc.ParameterDescriptor.ParameterType); if (parameter.@in == "body") { parameter.schema = schema; } else { parameter.PopulateFrom(schema); } return(parameter); }