Aspnetcore: Puis-je utiliser des zones dans les projets d'API Web principaux d'Asp.net ?

Créé le 19 janv. 2019  ·  3Commentaires  ·  Source: dotnet/aspnetcore

Je travaille sur un projet qui est un projet d'API Web principale Asp.net. La plupart de mes projets que j'ai réalisés avec Asp.net MVC et Core MVC, mais je ferais un nouveau projet basé sur l'API Web principale. dans Core MVC, nous avons le concept de zones selon lequel nous pouvons créer une partie Zones pour l'administration, etc. Si oui comment puis-je le faire ? Si vous pensez qu'il existe un meilleur moyen, dites-le moi, s'il vous plaît.

area-mvc

Commentaire le plus utile

Vous pouvez placer vos contrôleurs d'API dans une zone, juste pour les regrouper. Mais en gros, vous fournissez la route sur le contrôleur, vous pouvez donc créer vous-même différentes routes :
[Route("api/myarea/v1/[controller]")]

Tous les 3 commentaires

Vous pouvez placer vos contrôleurs d'API dans une zone, juste pour les regrouper. Mais en gros, vous fournissez la route sur le contrôleur, vous pouvez donc créer vous-même différentes routes :
[Route("api/myarea/v1/[controller]")]

J'ai le même problème que j'ai essayé en mettant mon ApiController sous ma zone pour que la structure ressemble à ci-dessous

Voici le contrôleur Api à l'intérieur

Secteurs/GL/Contrôleurs

[Area("GL")] [Route("api/[controller]")] [ApiController] [HttpGet] public IActionResult Get() { return Ok("api controller"); }

Mais quand j'accède à mon URL
http://localhost :48357/GL/Api/Get
Ou
http://localhost :48357/Api/GL/Get
ou
http://localhost :48357/Api/Get
Je reçois

Code d'état : 404 ; Pas trouvé

Voici le code dans

Startup.cs

routes.MapAreaRoute( name: "AreaGL", areaName: "GL", template: "GL/{controller=Home}/{action=Index}/{id?}" );

S'il vous plaît aidez-moi sur ce problème, qu'est-ce que je fais mal ici?

Merci de nous avoir contactés, @farhadibehnam.
Pour que les contrôleurs soient dans des zones, vous devez appliquer une contrainte de route {area:exists} dans votre route d'attribut, comme décrit https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas? vue=aspnetcore-2.2.

Cette page vous a été utile?
0 / 5 - 0 notes