如何在ASP.NET WebApi帮助页面中记录可选的QueryString参数?

Jus*_*tin 8 asp.net-mvc asp.net-web-api asp.net-web-api-helppages

ASP.Net Web Api帮助页面似乎自动确定参数是否在Request Uri或Body中.如何记录QueryString参数的选项参数?

例如,我可能有一个RESTful Url,例如

[GET] api/Books?relatedToBookId=xx
Run Code Online (Sandbox Code Playgroud)

其中"relatedToBookId"是可选的queryString参数.

通常,将FromUri或FromBody的参数放入注释中

<param name="variableName">blah blah</param>
Run Code Online (Sandbox Code Playgroud)

Kir*_*lla 10

您可以执行以下操作,您的可选查询字符串参数信息将显示在HelpPage中.

在下面的代码中relatedToBookId是来自Query String的可选参数.

    /// <summary>
    /// Gets list of books
    /// </summary>
    /// <param name="relatedToBookId">Your description here</param>
    /// <returns>returns list of books</returns>
    public IEnumerable<Book> GetBooks(int? relatedToBookId = null)
Run Code Online (Sandbox Code Playgroud)

此外,如果您想提及此参数是可选的,您可以执行以下操作:

  • 转到已安装的文件(Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml)

  • 更新与case ApiParameterSource.FromUri以下内容相关的条件:

    case ApiParameterSource.FromUri: <p>Define this parameter in the request <b>URI</b>.</p> if(parameter.ParameterDescriptor.IsOptional) { <p>This parameter is <b>optional</b>.</p> } break;