2016-11-02 47 views
1

我的一個動作參數是類的實例,它具有param1,param2,param3參數([FromUri]屬性,我可以將其替換爲[FromBody])
而且該參數也在路由中。如何忽略asp.net web api幫助頁面中的參數,這些參數是從路由和動作自動生成的

當asp.net web api幫助頁面從動作中生成參數時,我在URI參數中獲取它們的重複項。
我怎麼能忽略其中的一個?

+1

您剛剛從簽名中刪除呢? – Botonomous

+0

我不能,因爲其他案件不會工作...我認爲這將是一個屬性或配置,但研究和博客中的帖子並沒有幫助 – Aren

回答

0

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]

相關問題