La documentación para habilitar la integración de XmlDoc en sus proyectos Web Api parece solo manejar situaciones en las que todos sus tipos de API son parte de su proyecto WebApi. En particular, analiza cómo redirigir la documentación XML App_Data/XmlDocument.xml
y descomentar una línea en su configuración que consumirá ese archivo. Esto implícitamente solo permite el archivo de documentación de un proyecto.
Sin embargo, en mi configuración tengo mis tipos de solicitud y respuesta definidos en un proyecto común de "Modelos". Esto significa que si tengo un punto final definido como:
[Route("auth/openid/login")]
public async Task<AuthenticationResponse> Login(OpenIdLoginRequest request) { ... }
Donde OpenIdLoginRequest
se define en un proyecto C # separado así:
public class OpenIdLoginRequest
{
/// <summary>
/// Represents the OpenId provider that authenticated the user. (i.e. Facebook, Google, etc.)
/// </summary>
[Required]
public string Provider { get; set; }
...
}
A pesar de los comentarios de los request
documentos XML, las propiedades del parámetro no contienen documentación cuando visualiza la página de ayuda específica del punto final (es decir http://localhost/Help/Api/POST-auth-openid-login
).
¿Cómo puedo hacer que los tipos de subproyectos con documentación XML aparezcan en la documentación XML de la API web?
fuente
var files...
línea convar files = Directory.GetFiles(documentPath, "*.xml");
si usted (como yo) no siempre sabrá los nombres / número de archivos de documentación xml que estarán allí. También podría realizar un filtrado adicional según sea necesario.También me encontré con esto, pero no quería editar ni duplicar el código generado para evitar problemas más adelante.
Sobre la base de las otras respuestas, aquí hay un proveedor de documentación autónomo para múltiples fuentes XML. Simplemente coloque esto en su proyecto:
... y habilítelo en su
HelpPageConfig
con las rutas a los documentos XML que desee:fuente
Una forma más simplificada de hacer esto es fusionando los archivos xml. Código de ejemplo en mi respuesta a continuación:
Comentarios XML de la página de ayuda de Web Api de más de 1 archivo
fuente
aquí proporciono un enlace de respuesta con él, que puede ayudarlo. Puede utilizar fácilmente varios archivos XML para la documentación.
Comentarios XML de la página de ayuda de Web Api de más de 1 archivo
fuente
La forma más sencilla de solucionar este problema es crear la carpeta App_Code en el servidor que implementó. Luego copie el XmlDocument.xml que tiene en su carpeta bin localmente en la carpeta App_Code
fuente