Wyjaśniłem, jak przeprowadzić aktualizację mojego interfejsu WebAPI w oparciu o przestrzenie nazw przy użyciu this class.Używanie programu Swagger z wersją WebApi
Używam Swashbuckle, aby dodać dokument Swagger do mojego API, używając pakietu Swashbuckle Nuget.
Jeśli zachowam wszystko w nienaruszonym stanie, po przejściu do opcji/swagger/otrzymam pustą stronę.
W moim App_Start:
public class SwaggerConfig
{
public static void Register()
{
Bootstrapper.Init(GlobalConfiguration.Configuration);
SwaggerSpecConfig.Customize(c =>
{
c.IncludeXmlComments(GetXmlCommentsPath());
});
}
private static string GetXmlCommentsPath()
{
return string.Format(@"{0}\App_Data\XmlDocumentation.xml", AppDomain.CurrentDomain.BaseDirectory);
}
}
A moja Web API trasy:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{namespace}/{controller}/{id}",
defaults: new
{
id = RouteParameter.Optional
});
}
}
Jeśli usunąć {namespace}
to działa (wyświetlane są polecenia API), ale chcę zachować ten nazw informacje na mojej trasie.
Jak dostosować Swagger/Swashbuckle, aby to działało?
Możliwy duplikat [Leverage MultipleApiVersions w Swagger z wersją atrybutów] (http: //stackoverflow.com/questions/30789045/leverage-multipleapiversions-in-swagger-with-attribute-versioning) – Johan
@Johan: Jest na odwrót, moje pytanie jest starsze! : o – thomasb
Tak, ale to pytanie ma lepszą odpowiedź, a pytanie z lepszą odpowiedzią brzmi: gdzie linki powinny się znaleźć. – Johan