2013-04-22 90 views
2

ASP.NET Web API可以通过示例生成器轻松安装Nuget帮助页面。很容易让它生成和显示示例请求,但并不是那么容易,它似乎让它显示样本响应(httpsampleresponse),以便开发人员查看帮助页时,他们会看到生成的响应示例/不是静态/类型化在回应中,但实际上产生。我之前在另一个项目中看到过它,但仍然无法弄清楚如何去做。 MSDN's YAO has a good blog但是,由于某种原因,它并没有让我获得成功。Web API帮助示例 - C#

从我所看到的工作生活和基于在线阅读的内容来看,它肯定在根据config.SetSampleResponses()设置获取HelpPageConfig文件。我发现了为SetSampleResponses()方法设置参数的配置文件,但仍然没有任何我尝试的方法。有人向我建议,我应该创建一个自定义类型并使用扩展方法,但是让它对应并显示我所需要的内容尚未发生。我可以在没有错误的情况下编译它,但它仍然不会在页面上显示生成的响应示例。使用SetSampleForType块很容易得到一个部分显示在请求部分,但它是给我麻烦的响应部分。

有没有人在那里用SetSampleResponses()成功完成了这个任务,并且有任何一种你可以明确定义的技巧来让它工作?你有关于建立一个特定的泛型类型并使其工作的任何提示?

我想这一定是很简单的东西,我只是不点击做到这一点....

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

回答

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扩展的具体(代码)细节吗?

+0

感谢您对静态响应等信息。我认为我的问题确实存在,因为我们使用Web API的MVC4代码中有一个带有帮助控制器的自定义配置,而不是默认值控制器和其他一些调整。我以各种方式尝试了SetSampleObjects,但无济于事...尽管如此,我尝试过的其中一件事情一定会奏效....再次感谢您的回复! – user1258050 2013-04-26 12:30:34