.NET Core API Документация - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь реализовать документацию по API и использовать Microsoft.AspNetCore.Mvc.ApiExplorer в моем новом проекте ядра .net.Я следовал каждому шагу в этом уроке:

https://andrewlock.net/introduction-to-the-apiexplorer-in-asp-net-core/

, но я получаю это исключение:

    Microsoft.Extensions.DependencyInjection.ActivatorUtilities.FindApplicableConstructor(Type instanceType, Type[] argumentTypes, out ConstructorInfo matchingConstructor, out Nullable<int>[] parameterMap)
Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateFactory(Type instanceType, Type[] argumentTypes)
Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.DefaultPageModelActivatorProvider.CreateActivator(CompiledPageActionDescriptor actionDescriptor)
Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.DefaultPageModelFactoryProvider.CreateModelFactory(CompiledPageActionDescriptor descriptor)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvokerProvider.CreateCacheEntry(ActionInvokerProviderContext context, FilterItem[] cachedFilters)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvokerProvider.OnProvidersExecuting(ActionInvokerProviderContext context)
Microsoft.AspNetCore.Mvc.Internal.ActionInvokerFactory.CreateInvoker(ActionContext actionContext)
Microsoft.AspNetCore.Mvc.Internal.MvcAttributeRouteHandler+<>c__DisplayClass12_0.<RouteAsync>b__0(HttpContext c)
Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Кажется, что ссылка на объект в DocumentationControllerникогда не передается. В ASP.Net вы можете просто создать страницы справки.Может кто-нибудь объяснить мне, как правильно использовать ApiExplorer или предоставить альтернативное решение для создания документов Web API?

1 Ответ

0 голосов
/ 21 ноября 2018

Указанная вами ссылка была создана в 2017 году, до выпуска .NET Core 2.0.Была огромная разница между 2.0 и ее предыдущими выпусками.Документация, которую вы показали, имеет коды, используемые на 1.x.Я предлагаю вам проверить чванство.Вот документация о том, как настроить ее шаг за шагом.В основном вам нужно обновить файл startup.cs.Код в Startup поможет сгенерировать файл JSON, содержащий всю информацию о вашем веб-API.Функция UseSwaggerUI поможет вам создать полный пользовательский интерфейс.Интерфейс пользователя поставляется с опциями непосредственного запуска и тестирования API, включая аутентификацию.

Swagger не специфичен для .NET, и его вывод json довольно универсален и популярен.Microsoft и несколько других начали также интегрировать инструменты в файл json swagger.Это означает, что, пока у вас есть свагерская настройка JSON для вашего API, вы также можете воспользоваться этими инструментами.Например, вы можете сгенерировать код потребления (который выйдет в декабре в версии 2.2) или даже сгенерировать всю клиентскую часть в UWP.Я вполне уверен, что другие популярные технологии, такие как реагировать и угловые, будут иметь инструменты автогенерации, если вы также используете Swagger.

...