如何忽略asp.net web api帮助页中的参数,这些参数是由路由和动作自动生成的

本文关键字:参数 路由 自动生成 api web net 帮助 何忽略 asp | 更新日期: 2023-09-27 18:16:09

我的一个动作参数是类的实例,其中有param1, param2, param3参数(与[frommuri]属性,我不能用[FromBody]代替它)
这些参数也在路由中。

当asp.net web api帮助页面从动作生成参数时,我在URI参数中获得它们的副本。
我怎么能忽略其中一个呢?

如何忽略asp.net web api帮助页中的参数,这些参数是由路由和动作自动生成的

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]
,这可能会从帮助页面中删除太多参数。