2016-09-26 8 views
0

私はヘルプページに表示されるはずの構造化されたコメントを持つアクションメソッドを持つWeb API ApiControllerを持っています。複雑な型を取るメソッドのWeb APIコメント?

アクションは、POCOオブジェクトの配列である単一の[FromBody]引数を取ることになっているPutです。

/// <summary> 
/// An acknowledgement (positive or negative) for a sent ticket 
/// </summary> 
public class AckNak 
{ 
    /// <summary>jobid of the ticket that was sent</summary> 
    public string jobid { get; set; } 
    /// <summary>True if the ticket was successfully received, false otherwise</summary> 
     public bool ack { get; set; } 
} 

/// <summary> 
/// Put acknowledgements (positive or negative) for tickets received 
/// </summary> 
/// <param name="ackNaks">An array of AckNak objects</param> 
[HttpPut] 
public HttpResponseMessage Put([FromBody] AckNak[] ackNaks) 
{ 
    return this.Request.CreateResponse(HttpStatusCode.OK); 
} 

上記のように、生成されたXMLファイルに適切なエントリが表示されますが、ヘルプページのコメントは表示されません。私は方法を参照してください、要約コメントは表示されません。

引数の型をstringに置き換えると、ヘルプページにコメントが正しく表示されます。

/// <summary> 
/// An acknowledgement (positive or negative) for a sent ticket 
/// </summary> 
public class AckNak 
{ 
    /// <summary>jobid of the ticket that was sent</summary> 
    public string jobid { get; set; } 
    /// <summary>True if the ticket was successfully received, false otherwise</summary> 
     public bool ack { get; set; } 
} 

/// <summary> 
/// Put acknowledgements (positive or negative) for tickets received 
/// </summary> 
/// <param name="ackNaks">An array of AckNak objects</param> 
[HttpPut] 
public HttpResponseMessage Put([FromBody] string ackNaks) 
{ 
    return this.Request.CreateResponse(HttpStatusCode.OK); 
} 

アイデア?

+0

なぜあなたは 'AckNak [] ackNaks'のように渡していますか? 'AckNak ackNaks'を試してください –

+0

私はAckNaksのコレクションを渡しています。 –

答えて

0

問題は、コレクションの代わりに配列を渡そうとしていたことでした。

これは動作します:

[HttpPut] 
public HttpResponseMessage Put([FromBody] IEnumerable<AckNak> ackNaks) 
{ 
    return this.Request.CreateResponse(HttpStatusCode.OK); 
} 

か、というと、これは、docコメントの作業を行います。メソッド自体はいずれかの方法で動作しました。

関連する問題