Ich habe eine bereits bestehende MVC-App, der ich Web-API und Web API Self Documentation mit Nuget hinzugefügt habe. Während die Web-API-Controller einwandfrei funktionieren (gültige Antworten auf HTTP-Anfragen zurückgeben), findet der Help-Controller keine Web-API-Methoden zum Dokumentieren.
In der Help-Controller-Indexaktion "Configuration.Services.GetApiExplorer (). ApiDescriptions" wird mit 0 Ergebnissen zurückgegeben.
Was hat ApiDescriptions befüllt und gibt es irgendwelche Konfigurationseinstellungen, die ich einstellen muss, um meine API für Dokumentationen verfügbar zu machen?
Der Hilfebereich ist ein separater Bereich vom Rest meiner Anwendung. Führt das dazu, dass die Controller meine Controller nicht finden? Außerdem habe ich dem HelpController selbst eine Hilfe hinzugefügt, die noch keine API-Beschreibungen ergeben hat.
Ich habe auch ein spezielles Routing für meine API-Controller, daher bin ich mir nicht sicher, ob das relevant ist.
Nach etwas mehr Suche fand ich diesen Beitrag das bezieht sich auch auf diesen Beitrag
Wie bereits im ersten Beitrag erwähnt, ist Glimpse der Culplit, diese Problemumgehung löste das Problem für mich:
%Vor%Dies ist ebenfalls ein bekanntes Problem und die Problemumgehung wird in diesem Glimpse GitHub-Problem beschrieben.
Ich habe das gleiche Problem und ich benutze Glimpse nicht und ich löse das Problem so:
Im Dateikommando ProjectName\Areas\HelpPage\Controllers\HelpController.cs
wird der Konstruktor da nicht impliziter Konstruktor aufgerufen. public HelpController() : this(GlobalConfiguration.Configuration)
default heißt Konstruktor mit dem Parameter public HelpController(HttpConfiguration config)
und diese Initialisierung der Eigenschaft Configuration
ist inconect. Und Sie können dieses Problem so lösen:
Lösung 1: Kommentar / Entfernen Sie die Konstruktoren.
%Vor%Lösung 2: Fügen Sie den Standardkonstruktor hinzu, indem Sie dieses Attribut [InjectionConstructor] hinzufügen.
%Vor%Und Problem gelöst.
Nach der Installation des Hilfepages-Pakets von NuGet package manager
- Navigiere zu WebApplication1\Areas\HelpPage\App_Start\HelpPageConfig.cs
und entferne die Zeile unter
Fügen Sie auch App_Data/XmlDocument.xml
zu WebApplication & gt hinzu; Eigenschaften & gt; Bauen & gt; Überprüfen Sie die XML-Dokumentationsdatei
Tags und Links asp.net-web-api documentation documentation-generation