我的动作参数之一是具有 param1、param2、param3 参数的类实例(带有 [FromUri] 属性,我不能用 [FromBody] 替换它)
并且这些参数也在路由中。
当 asp.net web api 帮助页面从操作生成参数时,我在 URI 参数中得到了它们的重复项。
我怎么能忽略其中之一?
我的动作参数之一是具有 param1、param2、param3 参数的类实例(带有 [FromUri] 属性,我不能用 [FromBody] 替换它)
并且这些参数也在路由中。
当 asp.net web api 帮助页面从操作生成参数时,我在 URI 参数中得到了它们的重复项。
我怎么能忽略其中之一?
Areas\HelpPage\HelpPageConfigurationExtensions.cs
找到方法GenerateUriParameters
并注释掉 else 子句。
else
{
Debug.Assert(parameterDescriptor == null);
// If parameterDescriptor is null, this is an undeclared route parameter which only occurs
// when source is FromUri. Ignored in request model and among resource parameters but listed
// as a simple string here.
ModelDescription modelDescription = modelGenerator.GetOrCreateModelDescription(typeof(string));
AddParameterDescription(apiModel, apiParameter, modelDescription);
}
请注意,如果您不一直使用,这可能会从帮助页面中删除太多参数[FromUri]