你可以用ApiExplorerSettingsAttribute修饰控制器或动作方法,设置IgnoreApi
属性不生成帮助信息。如果您尝试对操作方法的属性应用相同的方法,则会得到一个错误:
public HttpResponseMessage Post([ApiExplorerSettings(IgnoreApi = true)]HttpRequestMessage request, ... )
保持控制器动作可测试的一个常见约定是接受错误2属性'ApiExplorerSettings'在此声明类型上无效。它只对'class, method'声明有效。
HttpRequestMessage
参数,但这是一个实现细节,而不是API消费者应该知道的东西。如何阻止ApiExplorer在生成帮助页面时包含此参数?
为了清楚…通过这个"if you try to apply the same to an action method's attribute
",你的意思是你试图应用到参数?
-一个快速修复将是添加一个额外的检查到现有的CancellationToken检查,我们在这个文件中:AreasHelpPageViewsHelpDisplayTemplatesParameters.cshtml
// Don't show CancellationToken because it's a special parameter
if (!typeof(CancellationToken).IsAssignableFrom(parameter.ParameterDescriptor.ParameterType))
{
-此外,您可以避免将HttpRequestMessage作为动作的参数,因为您可以从控制器上的request属性获得当前请求,但您希望它作为测试的参数…是吗?