private static HelpPageApiModel GenerateApiModel(ApiDescription apiDescription, HelpPageSampleGenerator sampleGenerator, HttpConfiguration config) { HelpPageApiModel apiModel = new HelpPageApiModel(); apiModel.ApiDescription = apiDescription; try { foreach (var item in sampleGenerator.GetSampleRequests(apiDescription)) { apiModel.SampleRequests.Add(item.Key, item.Value); LogInvalidSampleAsError(apiModel, item.Value); } foreach (var item in sampleGenerator.GetSampleResponses(apiDescription)) { apiModel.SampleResponses.Add(item.Key, item.Value); LogInvalidSampleAsError(apiModel, item.Value); } IModelDocumentationProvider modelProvider = config.Services.GetDocumentationProvider() as IModelDocumentationProvider; if (modelProvider != null) { apiModel.ParameterModels = modelProvider.GetModelDocumentation(apiDescription.ActionDescriptor); } } catch (Exception e) { apiModel.ErrorMessages.Add(String.Format(CultureInfo.CurrentCulture, "An exception has occurred while generating the sample. Exception Message: {0}", e.Message)); } return(apiModel); }
public HelpController(IModelDocumentationProvider documentationProvider, IApiExplorer apiExplorer, ModelDescriptionGenerator modelDescriptionGenerator, Func <string, HelpPageApiModel> getHelpPageApiModel) { _documentationProvider = documentationProvider; _apiExplorer = apiExplorer; _getHelpPageApiModel = getHelpPageApiModel; }