Exemplo n.º 1
0
        private ApiDeclaration CreateDeclaration(IGrouping<string, ApiDescription> apiDescriptionGroup)
        {
            var modelSpecRegistrar = new ModelSpecRegistrar();

            // Group further by relative path - each group corresponds to an ApiSpec
            var apiSpecs = apiDescriptionGroup
                .GroupBy(apiDesc => apiDesc.RelativePath)
                .Select(apiDescGrp => CreateApiSpec(apiDescGrp, modelSpecRegistrar))
                .ToList();

            return new ApiDeclaration
            {
                ApiVersion = "1.0",
                SwaggerVersion = SwaggerVersion,
                BasePath = _basePathResolver().TrimEnd('/'),
                ResourcePath = apiDescriptionGroup.Key,
                Apis = apiSpecs,
                Models = modelSpecRegistrar.ToDictionary()
            };
        }
Exemplo n.º 2
0
        private ApiDeclaration CreateDeclaration(IGrouping <string, ApiDescription> apiDescriptionGroup)
        {
            var modelSpecRegistrar = new ModelSpecRegistrar();

            // Group further by relative path - each group corresponds to an ApiSpec
            var apiSpecs = apiDescriptionGroup
                           .GroupBy(apiDesc => apiDesc.RelativePathSansQueryString())
                           .Select(apiDescGrp => CreateApiSpec(apiDescGrp, modelSpecRegistrar))
                           .OrderBy(apiSpec => apiSpec.Path)
                           .ToList();

            return(new ApiDeclaration
            {
                ApiVersion = _config.ApiVersion,
                SwaggerVersion = SwaggerVersion,
                BasePath = _config.BasePathResolver().TrimEnd('/'),
                ResourcePath = apiDescriptionGroup.Key,
                Apis = apiSpecs,
                Models = modelSpecRegistrar.ToDictionary()
            });
        }