Я установил Swagger в моем проекте ASP.NET MVC Core, и он прекрасно документирует мой API.В чем причина ошибки, которая возникает в коллекции маршрутов для Web API 2?
Мой коллега попросил меня установить его в полный проект 4.6.1, поэтому я сделал следующее.
В консоли Package Manager запуска:
Install-Package Swashbuckle
Чтобы получить тест веб-контроллера API работы: 1) закомментируйте в WebApi.config:
// config.SuppressDefaultHostAuthentication();
// config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
Сейчас этот URL: http://localhost:33515/api/Test возвращает XML:
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>value1</string>
<string>value2</string>
</ArrayOfstring>
В Global.asax Реестре() я называю:
SwaggerConfig.Register();
В AppStart.Swagger.Config Реестре() я ставлю:
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1.0", "HRSA CHAFS");
c.IncludeXmlComments(GetXmlCommentsPath());
})
.EnableSwaggerUi(c =>
{});
}
private static string GetXmlCommentsPath()
{
var path = String.Format(@"{0}bin\Services.XML", AppDomain.CurrentDomain.BaseDirectory);
return path;
}
}
Теперь я получаю эту ошибку: «Маршрут под названием ' swagger_docsswagger/docs/{apiVersion} 'уже находится в коллекции маршрутов. Имена маршрутов должны быть уникальными.»
Я застрял на этом в течение нескольких часов. Как избавиться от этого?
Вы нашли решение? – MichaelD