private Parameter CreateParameter( string location, ApiParameterDescription paramDesc, SchemaRegistry schemaRegistry) { Parameter partialSchema = new Parameter() { @in = location, name = paramDesc.get_Name() }; if (paramDesc.get_ParameterDescriptor() == null) { partialSchema.type = "string"; partialSchema.required = new bool?(true); return(partialSchema); } partialSchema.required = new bool?(location == "path" || !paramDesc.get_ParameterDescriptor().get_IsOptional()); partialSchema.@default = paramDesc.get_ParameterDescriptor().get_DefaultValue(); Schema orRegister = schemaRegistry.GetOrRegister(paramDesc.get_ParameterDescriptor().get_ParameterType()); if (partialSchema.@in == "body") { partialSchema.schema = orRegister; } else { partialSchema.PopulateFrom(orRegister); } return(partialSchema); }
private string GetParameterLocation(ApiDescription apiDesc, ApiParameterDescription paramDesc) { if (apiDesc.RelativePathSansQueryString().Contains("{" + paramDesc.get_Name() + "}")) { return("path"); } return(paramDesc.get_Source() == 1 && apiDesc.get_HttpMethod() != HttpMethod.Get ? "body" : "query"); }