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?
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