Je veux avoir un chemin WebAPI qui prend un Id, mais aussi, une requête facultative.
Donc, habituellement, le client enverra :
http://localhost:49487/api/template/5b31b31c-ecd9-4e7a-bcdb-1c263399c86f
Mais parfois, j'ai besoin de renvoyer un peu plus de détails dans la charge utile. Je veux donc qu'ils envoient :
http://localhost:49487/api/template/5b31b31c-ecd9-4e7a-bcdb-1c263399c86f?IncludePreview=true
Mon endpoint .Net Web API Controller est défini comme ceci, et gère le premier cas.
[Route("{Id}"), HttpGet]
public IActionResult GetTemplate(Guid Id, bool IncludePreview = false)
Mais dès que j'ai envoyé la deuxième version, avec la chaîne de requête, le contrôleur de l'API s'exécute (j'ai un point d'arrêt dessus), mais l'Id est toujours Guid.Empty.
Comment puis-je faire en sorte que ma méthode API accepte les deux versions ? Ou dois-je créer un endpoint séparé pour les deux versions ?