예제 #1
0
        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);
        }
예제 #2
0
 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");
 }