Für alle, die ähnliche Probleme bei der Verwendung von Swashbuckle.OData haben:
Ich hatte Probleme, Swagger in unsere OData-Endpunkte zu integrieren (unter Verwendung von ODataController für API und Swashbuckle.OData NuGet-Paket). Ich musste unseren eigenen Dokumentfilter dafür schreiben und hinzufügen:
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "OurSolution.API");
c.DocumentFilter<SwaggerDocumentFilter>();
//c.CustomProvider((defaultProvider) => new ODataSwaggerProvider(defaultProvider, c, GlobalConfiguration.Configuration));
c.IncludeXmlComments(GetXmlCommentsPath());
c.UseFullTypeNameInSchemaIds();
c.RootUrl(req => ConfigurationManager.AppSettings["AppUrl"]);
})
.EnableSwaggerUi(c =>
{
c.DisableValidator();
});
Anscheinend musste ich eine Zeile auskommentieren, in der ODataSwaggerProvider eingestellt ist, um Validierungsfehler zu vermeiden und der Validator wird, wie in den obigen Beiträgen erwähnt. Dies macht die Nützlichkeit von Swashbuckle.OData fraglich, aber ich habe nicht getestet, was auch immer mit Vanille-Swashbuckle funktioniert.
Hinweis: Ich habe den auf der GitHub-Seite beschriebenen Ansatz für Swashbuckle.OData verwendet, aber er hat nicht funktioniert: Es wurden überhaupt keine möglichen Endpunkte angezeigt. Vielleicht kennt jemand eine bessere Lösung.