我正在使用MVC4项目中的WebApi帮助页面。
根据以下链接,http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx我一直在设置HelpPageConfig来设置实际的响应类型。
我有一个控制器,上面有两个get方法
/// <summary>
/// Get the list of plans for a specified portfolio
/// </summary>
/// <param name="portfolioIdentifier">Portfolio Identifier (guid)</param>
/// <returns>
/// Returns a list of <see cref="RestDTOs.Plan"/> Plan objects
/// </returns>
public HttpResponseMessage Get(Guid portfolioIdentifier)
{
}
/// <summary>
/// Get full plan details.
/// </summary>
/// <param name="planIdentifier">Plan Identifier (guid)</param>
/// <returns>
/// Returns the <see cref="RestDTOs.Plan"/> Plan object
/// </returns>
[HttpGet]
public HttpResponseMessage Detail(Guid planIdentifier)
{
}
在HelpPageConfig.cs中,我添加了以下内容以尝试设置ResponseBody格式示例
config.SetActualResponseType(typeof(Plan), "Plan", "GET");
这在Get方法上运行得很好,但是在Detail方法
上没有产生任何东西我需要将哪些内容添加到HelpPageConfig中,以便web api帮助将为Detail方法提取并生成样本
答案 0 :(得分:5)
MVC 5有一个内置属性来设置响应类型。
只需使用:
ResponseType(typeof([Your_Class]))]
答案 1 :(得分:3)
尝试config.SetActualResponseType(typeof(Plan), "Plan", "Detail");
...这里的第二个参数是期待一个动作名称......我看到你正在使用Web API 1,所以只有FYI ...在Web API 2中,有一个名为ResponseType的属性你可以用它来装饰一个动作来描述给定动作的实际响应类型..