Ho una domanda sulle pagine di aiuto dell'API Web ASP.NET.La pagina della Guida dell'API Web ASP.NET non può elaborare il controllore di tipo generico
Di solito le Pagine di Aiuto in grado di generare il WebAPI da XMLDocumentation Codice Esempio:
public class ValueControllerBase : ApiController
{
/// <summary>
/// Base Do
/// </summary>
public IEnumerable<string> Do()
{
return new string[] { "value1", "value2" };
}
}
public class ValuesController : ValueControllerBase
{
/// <summary>
/// Testing API
/// </summary>
public string Get(int id)
{
return "value";
}
}
questo può generare con successo, in questo modo:
API
GET api/Values/Get/{id}
Description
Testing API
API
POST api/Values/Do
Description
Base Do
ma se io uso un controller di base generica, non sarà generare il documento API.
Esempio:
public class ValueControllerBase<T> : ApiController
{
/// <summary>
/// Base Do
/// </summary>
public IEnumerable<string> Do()
{
return new string[] { "value1", "value2" };
}
}
public class ValuesController<String> : ValueControllerBase
{
/// <summary>
/// Testing API
/// </summary>
public string Get(int id)
{
return "value";
}
}
Se uso il codice nella seconda sezione, Pagine di Aiuto può generare il documento API, ma non genera l'annotazione API. La differenza tra i miei due esempi è che il codice di seconda sezione usa un tipo generico.
API
GET api/Values/Get/{id}
Description
Testing API
API
POST api/Values/Do
Description
null
Nel metodo Do()
, l'annotazione non visualizza rispetto al primo
C'è qualche soluzione per risolvere questi problemi?
D'altra parte, questo rompe ottenere la documentazione sui metodi con parametri nullable. –
@MotlicekPetr L'ho implementato ma non vedo che si interrompa la documentazione dei parametri nullable. Hai un esempio? –