Mam pytanie dotyczące stron pomocy API ASP.NET Web API.Strona pomocy ASP.NET Web API Strona nie może przetworzyć Generic Type Controller
Zazwyczaj HelpPages może generować WebAPI przez XMLDocumentation Kodeksu próbki:
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";
}
}
ten może generować powodzeniem, podobnie jak to:
API
GET api/Values/Get/{id}
Description
Testing API
API
POST api/Values/Do
Description
Base Do
ale jeśli mogę użyć rodzajowe podstawowy kontroler, to nie będzie wygenerować dokument API.
Próbka:
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";
}
}
Gdybym użyć kodu w sekcji drugiej, HelpPages może wygenerować dokument API, ale nie generuje adnotacji API. Różnica między moimi dwoma przykładami polega na tym, że kod drugiej sekcji używa typu ogólnego.
API
GET api/Values/Get/{id}
Description
Testing API
API
POST api/Values/Do
Description
null
W metodzie Do()
, adnotacja nie wykazuje w porównaniu z pierwszym
Czy istnieje rozwiązanie, aby rozwiązać te problemy?
Z drugiej strony, łamie to uzyskanie dokumentacji dotyczącej metod z parametrami zerowymi. –
@MotlicekPetr Mam to zaimplementowane, ale nie widzę go złamanie dokumentacji parametru nullable. Czy masz przykład? –