La documentation permettant d'activer l'intégration de XmlDoc dans vos projets Web Api semble gérer uniquement les situations où tous vos types d'API font partie de votre projet WebApi. En particulier, il explique comment rediriger la documentation XML vers App_Data/XmlDocument.xml
et décommenter une ligne de votre configuration qui consommera ce fichier. Cela autorise implicitement uniquement le fichier de documentation d'un projet.
Cependant, dans ma configuration, j'ai mes types de demande et de réponse définis dans un projet "Modèles" commun. Cela signifie que si j'ai un point de terminaison défini tel que:
[Route("auth/openid/login")]
public async Task<AuthenticationResponse> Login(OpenIdLoginRequest request) { ... }
Où OpenIdLoginRequest
est défini dans un projet C # séparé comme ceci:
public class OpenIdLoginRequest
{
/// <summary>
/// Represents the OpenId provider that authenticated the user. (i.e. Facebook, Google, etc.)
/// </summary>
[Required]
public string Provider { get; set; }
...
}
Malgré les problèmes XML, les propriétés du request
paramètre ne contiennent aucune documentation lorsque vous affichez la page d'aide spécifique au point final (c'est-à-dire http://localhost/Help/Api/POST-auth-openid-login
).
Comment puis-je faire en sorte que les types de sous-projets avec la documentation XML apparaissent dans la documentation XML de l'API Web?
la source
var files...
ligne parvar files = Directory.GetFiles(documentPath, "*.xml");
si vous (comme moi) ne connaissez pas toujours les noms / nombre de fichiers de documentation xml qui seront là. Pourrait également effectuer un filtrage supplémentaire si nécessaire.J'ai rencontré cela aussi, mais je ne voulais pas modifier ou dupliquer le code généré pour éviter des problèmes plus tard.
En s'appuyant sur les autres réponses, voici un fournisseur de documentation autonome pour plusieurs sources XML. Déposez simplement ceci dans votre projet:
... et activez-le dans votre
HelpPageConfig
avec les chemins d'accès aux documents XML souhaités:la source
Une autre façon simplifiée de procéder consiste à fusionner les fichiers xml. Exemple de code dans ma réponse ci-dessous:
Commentaires XML de la page d'aide Web Api provenant de plusieurs fichiers
la source
ici, je fournis un lien de réponse avec elle, qui peut vous aider. Vous pouvez facilement utiliser plusieurs fichiers XML pour la documentation.
Commentaires XML de la page d'aide Web Api provenant de plusieurs fichiers
la source
Le moyen le plus simple de résoudre ce problème consiste à créer le dossier App_Code sur le serveur que vous avez déployé. Copiez ensuite le XmlDocument.xml que vous avez dans votre dossier bin localement dans le dossier App_Code
la source