2015-05-31 43 views
3

如何在Asp.Net Web Api幫助頁面中爲我的模型生成描述在AspNet中生成模型描述WebApi幫助頁面

例子:

enter image description here

正如你看到的例子,我已經可以產生NameTypeAdditional Information。但我如何生成Description

我沒有試過,我都沒有想法。

不,這是不正確的。我已經嘗試在我的TransactionDto課程中添加評論,但它不起作用。

/// <summary> 
/// A DTO (Data Transfer Object) for Transaction objects. 
/// </summary> 
public class TransactionDto 
{ 
    /// <summary> 
    /// The manager who registered the transaction. 
    /// </summary> 
    public string FromId { get; set; } 

    /// <summary> 
    /// The receiving manager. 
    /// </summary> 
    [Required] 
    public string ToId { get; set; } 

    /// <summary> 
    /// Optional expiration date. 
    /// </summary> 
    public DateTime? Expires { get; set; } 

    /// <summary> 
    /// Date the transaction was created. 
    /// </summary> 
    public DateTime Created { get; set; } 
} 

我已經配置HelpPageConfig.cs使用的XmlDocumentationProvider像這樣:

config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml"))); 

那麼,如何產生這些描述的模型?

+2

您是否還在項目屬性中選中了以下內容:屬性|構建|輸出| XML文檔文件? –

回答

7

我想你有不同的項目以外的其他項目模型?

如果是這樣,web api項目不知道爲模型生成的幫助xml文件。您需要爲webapi項目和models項目設置xml輸出路徑,然後在HelpPageConfig.cs文件的註冊方法中組合這兩個xml文件。

public static void Register(HttpConfiguration config) 
{ 
     XmlDocument apiDoc = new XmlDocument(); 
     apiDoc.Load(HttpContext.Current.Server.MapPath("~/App_Data/VonExpy.AD.WebApi.Orders.xml")); 
     XmlDocument contractsDoc = new XmlDocument(); 
     contractsDoc.Load(HttpContext.Current.Server.MapPath("~/App_Data/VonExpy.AD.Contracts.xml")); 
     if (contractsDoc.DocumentElement != null && apiDoc.DocumentElement!=null) 
     { 
      XmlNodeList nodes = contractsDoc.DocumentElement.ChildNodes; 
      foreach (XmlNode node in nodes) 
      { 
       XmlNode copiedNode = apiDoc.ImportNode(node, true); 
       apiDoc.DocumentElement.AppendChild(copiedNode); 
      } 
      apiDoc.Save(HttpContext.Current.Server.MapPath("~/App_Data/VonExpy.AD.WebApi.Orders.xml")); 
     } 
     config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/VonExpy.AD.WebApi.Orders.xml"))); 
    ...... 
} 
+0

感謝和良好的想法,我的模型確實在一個不同的項目。 –

相關問題