web-dev-qa-db-fra.com

Comment changer le contrôleur et l'action par défaut dans l'API ASP.NET Core?

Je crée une application API ASP.NET Core, et actuellement, et quand on crée un nouveau projet, il y a un contrôleur nommé Values, et par défaut, l'API l'ouvre lorsque vous exécutez. J'ai donc supprimé ce contrôleur et ajouté un nouveau contrôleur nommé Intro, et à l'intérieur une action nommée Get. Dans le Startup.cs fichier, j'ai les lignes de code suivantes:

app.UseMvc(opt =>
{
    opt.MapRoute("Default",
        "{controller=Intro}/{action=Get}/{id?}");
});

Et mon contrôleur Intro ressemble à ceci:

[Produces("application/json")]
[Route("api/[controller]")]
[EnableCors("MyCorsPolicy")]
public class IntroController : Controller
{
    private readonly ILogger<IntroController> _logger;

    public IntroController(ILogger<IntroController> logger)
    {
        _logger = logger;
    }

    [HttpGet]
    public IActionResult Get()
    {
        // Partially removed for brevity
    }
}

Mais, encore une fois lorsque j'exécute l'API, il essaie par défaut de naviguer vers /api/values, mais depuis que j'ai supprimé le contrôleur de valeurs, j'obtiens maintenant une erreur 404 introuvable. Si je navigue manuellement, accédez à /api/intro, J'obtiens le résultat fourni par mon action Get dans le contrôleur Intro. Comment puis-je m'assurer que lorsque l'API s'exécute (par exemple via Debug-> Start Without Debugging), elle obtient par défaut l'action Get du contrôleur Intro?

7
tinker

Vous pouvez le changer dans launchSettings.json fichier dans le nœud Properties. Il devrait y avoir le champ launchUrl qui contient l'URL de lancement par défaut

22
Alex Riabov