1

Un de mes paramètres d'action est instance de classe qui possède les paramètres param1, param2, param3 (avec l'attribut [FromUri] et je peux ne le remplacez pas par [FromBody])
Et que les paramètres sont également dans le routage.Comment ignorer les paramètres de la page d'aide API asp.net qui sont générés automatiquement à partir du routage et de l'action

Lorsque la page d'aide asp.net web api génère des paramètres à partir de l'action, j'en reçois des doublons dans les paramètres URI.
Comment puis-je ignorer l'un d'eux?

+1

Vous supprimez juste de la signature? – Botonomous

+0

Je ne peux pas parce que d'autres cas ne fonctionnera pas ... Je pense que ce sera un attribut ou une configuration, mais les recherches et les messages dans les blogs n'aident pas – Aren

Répondre

0

Dans Areas\HelpPage\HelpPageConfigurationExtensions.cs, recherchez la méthode GenerateUriParameters et commentez la clause 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); 
} 

Notez que cela pourrait enlever trop de paramètres de vos pages d'aide si vous ne l'utilisez pas toujours [FromUri]