2

ASP.NET Web API 有一个带有示例生成器的易于安装的 Nuget 帮助页面。让它生成和显示示例请求很容易,但让它显示示例响应(httpsampleresponses)似乎并不容易,因此当开发人员查看帮助页面时,他们会看到生成响应的示例/不是静态的/键入的在响应中,但实际上是生成的。我以前在另一个项目上看到过它,但仍然无法弄清楚如何去做。MSDN 的 YAO 有一个很好的博客,但由于某种原因,它并没有让我一路走上成功之路。

根据我在现场看到的工作以及在线阅读的内容,这绝对是根据 config.SetSampleResponses() 设置正确获取 HelpPageConfig 文件。我发现了为 SetSampleResponses() 方法设置参数的配置文件,但我仍然没有尝试任何工作。有人建议我应该创建一个自定义类型并使用扩展方法,但是让它对应并显示我需要的东西还没有发生。我可以让它编译没有错误,但它仍然没有在页面上显示生成的响应示例。使用 SetSampleForType 片段很容易让一个部分显示在请求部分中,但给我带来麻烦的是响应部分。

有没有人成功地使用 SetSampleResponses() 完成了这项工作,是否有任何技巧可以明确定义以使其正常工作?您对设置特定的泛型类型并使其工作有任何提示吗?

我在想这一定是一件非常简单的事情,我只是没有点击来实现它....

感谢您提供任何潜在的信息...

4

1 回答 1

1

HelpPageConfig 上的 SetSampleResponse 扩展用于为您的操作静态定义示例。

config.SetSampleResponse("\"Hello World!\"", new MediaTypeHeaderValue("application/json"), "Values", "Get", "id");

如果您正在寻找特定类型的生成样本,您是否尝试过使用 SetSampleObjects 扩展,它允许您为不同类型设置样本对象,并且在从操作返回该特定类型的所有情况下都使用相同的对象。

config.SetSampleObjects(new Dictionary<Type, object>
        {
            {typeof(string), "Hello World!"}
        });

您能否分享更多关于您如何使用 SetSampleResponse 扩展的具体(代码)详细信息?

于 2013-04-22T13:02:09.403 回答