9

Ho un'app MVC preesistente che ho aggiunto Web API e Web API Self Documentation utilizzando Nuget. Mentre i controller API Web funzionano correttamente (restituiscono risposte valide alle richieste HTTP) il controller della Guida non sta trovando alcun metodo API Web da documentare.ASP.Net Web API Help Pagina che restituisce l'output vuoto

Nell'azione indice del controller della Guida "Configuration.Services.GetApiExplorer(). ApiDescriptions" restituisce con 0 risultati.

Sono persino andato a copiare l'intera area "HelpPage" da un'altra app Web funzionante.

Che popolato ApiDescriptions e ci sono impostazioni di configurazione che ho bisogno di impostare per esporre la mia api alle documentazioni?


Le cose che ho provato:

  • reinstallazione dei pacchetti Nuget
  • copia sopra zona helppage dal progetto di lavoro
  • Copia su rotte da progetto
  • Confrontando i riferimenti di lavoro da progetto di lavoro per rotto progetto
  • Confronto di Global.asax.cs dal progetto di lavoro al progetto interrotto
  • Confrontando web.config del progetto di lavoro per rotti progetto
+0

Puoi condividere come i tuoi percorsi configurati e un controller che non viene visualizzato? –

+0

Sta utilizzando la route dell'API Web predefinita. Nessuna personalizzazione –

+0

Ok. Potresti condividere un controller (solo le dichiarazioni dovrebbero essere sufficienti) per le quali la pagina di aiuto non mostra le descrizioni? –

risposta

7

Si scopre la mia Glimpse MVC 4 installazione interferiva. Questo è un problema noto con Glimpse and Web API Help Pages. La disinstallazione di Glimpse risolve il problema.

+0

Il mio progetto non ha riferimento a Glimpse, ancora non lo fa lavoro. Qualche idea al riguardo? – RKS

3

il link fornito da William fornisce anche la seguente soluzione in this comment che ha funzionato per me:

Per il momento, è possibile utilizzare una soluzione semplice ignorando la RoutesInspector. Basta aggiungere questo al tuo web.config:

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"> 
<inspectors> 
     <ignoredTypes> 
     <add type="Glimpse.AspNet.Inspector.RoutesInspector, Glimpse.AspNet"/> 
     </ignoredTypes> 
    </inspectors> 
</glimpse>